Câu hỏi:
Giúp em bài tập về nhà Tổng hợp lớp 8 câu hỏi như sau: kiểm tra số fibonacci c++
Trả lời 2:
Gia Sư Hoàng Khang gữi câu trả lời dành cho bạn:
text{CODE}
#include <bits/stdc++.h>
using namespace std;
bool kt(int num) {
int sqrtNum = sqrt(num);
return sqrtNum * sqrtNum == num;
}
bool Fibonacci(int num) {
return kt(5*num*num+4)||kt(5*num*num-4);
}
int main() {
int num;
cin >> num;
if (Fibonacci(num))
cout << num << ” là một số Fibonacci.” << endl;
else
cout << num << ” không phải là một số Fibonacci.” << endl;
return 0;
}
Trả lời 1:
Gia Sư Hoàng Khang gữi câu trả lời dành cho bạn:
#include <bits/stdc++.h>
using namespace std;
bool check(long long n) {
long long f2 = 1;
long long f1 = 1;
long long fn = 1;
long long i;
if (n == 1|| n == 2) {
return 1;
} else {
for (i = 2; i < n; i++) {
f1= f2;
f2 = fn;
fn = f2 + f1;
if(n==fn){
return 1;
}
}
}
return 0;
}
int main() {
long long n,i;
cin>>n;
if(check(n)==1){
cout<<“YES”;
}
else{
cout<<“NO”;
}
}