• [PA 2014]Iloczyn


    Description

    斐波那契数列的定义为: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

    题解

    前几天考过一次式好像$Fibonacci$的第九十几项就爆$long long$了...

    这次是$10^9$,所以大概第四五十就爆了。显然就是暴力枚举了...

    老是把$f_0$记成$1$,$WA$声一片...

     1 //It is made by Awson on 2017.10.14
     2 #include <set>
     3 #include <map>
     4 #include <cmath>
     5 #include <ctime>
     6 #include <cmath>
     7 #include <stack>
     8 #include <queue>
     9 #include <vector>
    10 #include <string>
    11 #include <cstdio>
    12 #include <cstdlib>
    13 #include <cstring>
    14 #include <iostream>
    15 #include <algorithm>
    16 #define LL long long
    17 #define Min(a, b) ((a) < (b) ? (a) : (b))
    18 #define Max(a, b) ((a) > (b) ? (a) : (b))
    19 #define sqr(x) ((x)*(x))
    20 using namespace std;
    21 const int N = 100;
    22 const int LIM = 1e9;
    23 
    24 int n, f[N+5], lim;
    25 
    26 void pre() {
    27     f[0] = 0; f[1] = 1;
    28     for (int i = 2; i <= N; i++) {
    29         f[i] = f[i-1]+f[i-2];
    30         if (f[i] >= LIM) {
    31             lim = i;
    32             break;
    33         }
    34     }    
    35 }
    36 void work() {
    37     scanf("%d", &n);
    38     for (int i = 0; i <= lim; i++)
    39         for (int j = i; j <= lim; j++)
    40             if ((LL)n == (LL)f[i]*f[j]) {
    41                 printf("TAK
    ");
    42                 return;
    43             }
    44     printf("NIE
    ");
    45 }
    46 int main() {
    47     pre();
    48     int t; scanf("%d", &t);
    49     while (t--) work();
    50     return 0;
    51 }
  • 相关阅读:
    go grpc基础教程
    浅析 unsafe.Pointer 与 uintptr(重要)
    redis获得配置
    K8s 很难么?带你从头到尾捋一遍,不信你学不会(重要)
    iCountdown隐私政策
    [一、基础控件]2使用Text视图显示指定的文字
    iCountdown用户协议
    iLocalizable用户协议
    iLocalizable隐私政策
    Advise on OS patch upgrade with RAC
  • 原文地址:https://www.cnblogs.com/NaVi-Awson/p/7668858.html
Copyright © 2020-2023  润新知