7 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long n,a[100000],k; int main() { cin>>n; if (n==1) { cout<<"YES"; return 0; } a[1]=1; a[2]=1; k=2; while (1) { if (a[k]>n) break; if (a[k]==n) { cout<<"YES"; return 0; } k++; a[k]=a[k-1]+a[k-2]; } cout<<"NO"; return 0; }
-
0
这道题目比较简单,用一个死循环枚举斐波那契数就能解决,如果枚举到就退出,并输出“YES”,如果大于也退出, 并输出“NO”。 代码如下:
#include <bits/stdc++.h> using namespace std; int main () { long long n, a = 1, b = 1, c; scanf ("%lld", &n); if (n == a) { printf ("YES"); exit (0); } while (1) { c = a + b; a = b; b = c; if (n == c) { printf ("YES"); exit (0); } if (c > n) { printf ("NO"); exit (0); } } return 0; }
- 1
信息
- ID
- 9
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- (无)
- 递交数
- 99
- 已通过
- 53
- 上传者