zoukankan      html  css  js  c++  java
  • 6L

    Fibonacci数列,定义如下: 
    f(1)=f(2)=1 
    f(n)=f(n-1)+f(n-2) n>=3。 
    计算第n项Fibonacci数值。 

    Input

    输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。 

    Output

    输出为N行,每行为对应的f(Pi)。 

    Sample Input

    5
    1
    2
    3
    4
    5

    Sample Output

    1
    1
    2
    3
    5

    // 第1000个Fibonacci数约为4.3*10^208
    // 复习一下__intx:https://www.cnblogs.com/goldenretriever/p/10356654.html

    // double可以表示十进制的15或16位有效数字,可完全保证15位,
    // 负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,
    // 正值取值范围为 4.94065645841246544E-324 到 1.797693E+308
     1 #include<stdio.h>
     2 double f[1000]={1,1};
     3 void table()
     4 {
     5     for(int i=2;i<1000;i++)
     6         f[i]=f[i-1]+f[i-2];
     7 }
     8 int main()
     9 {
    10     int n, pi;
    11     table();
    12     scanf("%d", &n);
    13     while(n--)
    14     {
    15         scanf("%d", &pi);
    16         printf("%.0f
    ", f[pi-1]);
    17     }
    18 }
    WA
    // 用二维字符串打表
     1 #include<stdio.h>
     2 #include<string.h>
     3 char f[1000][250];
     4 void add(char num1[], char num2[], char num[])
     5 {
     6     int len1=strlen(num1), len2=strlen(num2);
     7     int min=len1>len2?len2:len1, i,k;
     8     k=0;
     9     for(i=0;i<min;i++)
    10     {
    11         num[i]=(num1[i]+num2[i]+k-2*'0')%10+'0';
    12         k=(num1[i]+num2[i]+k-2*'0')/10;
    13     }
    14     num[i]='';
    15     if(len1>len2) strcat(num,num1+min);
    16     if(len1<len2) strcat(num,num2+min);
    17     if(len1!=len2&&k) ++num[min];
    18     if(len1==len2&&k)
    19     { num[min++]='1'; num[min]=''; }
    20 }
    21 void table()
    22 {
    23     f[0][0]=f[1][0]='1'; f[0][1]=f[1][1]='';
    24     for(int i=2;i<1000;i++)
    25         add(f[i-1],f[i-2], f[i]);
    26 }
    27 int main()
    28 {
    29     int n, pi;
    30     table();
    31     scanf("%d", &n);
    32     while(n--)
    33     {
    34         scanf("%d", &pi);
    35         for(int i=strlen(f[pi-1])-1;i>=0;i--)
    36             printf("%c", f[pi-1][i]);
    37         printf("
    ");
    38     }
    39     return 0;
    40 }
    AC
  • 相关阅读:
    fastclick.js插件使用
    iphone X 的适配
    常用js方法整理
    gulp(1) 的使用
    C# Datatable 添加列
    Microsoft visual studio已停止工作最全解决办法
    微服务
    获取指定页的记录
    谷歌浏览器安装ie_tab()报错The 'manifest_version' key must be present and set to 2 (without quotes)的解决办法
    Javascript常用代码汇总
  • 原文地址:https://www.cnblogs.com/goldenretriever/p/10357093.html
Copyright © 2011-2022 走看看