bzoj3713 [PA2014]Iloczyn|暴力(模拟)

斐波那契数列的定义为:k=0或1时,F[k]=k;k>1时,F[k]=F[k-1]+F[k-2]。数列的开头几项为0,1,1,2,3,5,8,13,21,34,55,…你的任务是判断给定的数字能否被表示成两个斐波那契数的乘积。

Input

第一行包含一个整数t(1<=t<=10),表示询问数量。接下来t行,每行一个整数n_i(0<=n_i<=10^9)。

Output

输出共t行,第i行为TAK(是)或NIE(否),表示n_i能否被表示成两个斐波那契数的乘积。

Sample Input

5
5
4
12
11
10

Sample Output

TAK
TAK
NIE
NIE
TAK

 

题解:这道题就是模拟,然后,枚举爆搜,就没有了。

这么水,为什么会放在bzoj上

复制代码
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<algorithm>
 6 #define LL long long
 7 using namespace std;
 8 
 9 LL f[100]={0,1},n;
10 int T;
11 int main()
12 {
13     for (int i=2;i<=57;i++) f[i]=f[i-1]+f[i-2];
14     scanf("%d",&T);
15     while (T--)
16     {
17         scanf("%lld",&n);
18         bool flag=0;
19         for (int i=0;i<=47;i++)
20             for (int j=0;j<=47;j++)
21             {
22                 LL tmp=(LL)f[i]*f[j];
23                 if (n==tmp) flag=1;
24             }
25         puts(flag?"TAK":"NIE");
26     }
27 }
复制代码

 

posted @   Kaiser-  阅读(133)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示