• Hat's Fibonacci


    http://acm.hdu.edu.cn/showproblem.php?pid=1250

    大数斐波那契

    %08d是什么东西,为什么我用flag交不上,唉,不刷大数了,没劲。暑假再讲。

    就是交不上

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    using namespace std;
    int ta[10001][511];
    int main()
    {
        int n,k;
         memset(ta,0,sizeof(ta));
         ta[0][0]=1;
         ta[1][0]=1;
         ta[2][0]=1;
         ta[3][0]=1;
         ta[4][0]=1;
         for(int i=5;i<10001;i++)
         {
             for(int j=0;j<510;j++)
             {
                  k=ta[i][j]+ta[i-1][j]+ta[i-2][j]+ta[i-3][j]+ta[i-4][j];
                  if(k>=100000)
                  {
                      ta[i][j+1]=k/100000;
                      ta[i][j]=k%100000;
                  }
                  else ta[i][j]=k;
             }
    
    
         }
        while(scanf("%d",&n)!=EOF)
        {
            int i,j;
            for(i=510;i>=0;i--)
            if(ta[n][i]!=0) break;
            printf("%d",ta[n][i]);
            for(j=i-1;j>=0;j--)
            printf("%05d",ta[n][j]);//5个字符宽度的整数,不够5个的左边用0补齐
            printf("
    ");
        }
        return 0;
    }

     http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2876

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    using namespace std;
    int ta[1002][130];
    int main()
    {
        int n,k;
         memset(ta,0,sizeof(ta));
         ta[0][0]=1;
         ta[1][0]=1;
         ta[2][0]=2;
         for(int i=3;i<1001;i++)
         {
             for(int j=0;j<130;j++)
             {
                  k=ta[i][j]+ta[i-1][j]+ta[i-2][j];
                  if(k>=100000)
                  {
                      ta[i][j+1]=k/100000;
                      ta[i][j]=k%100000;
                  }
                  else ta[i][j]=k;
             }
    
    
         }
        int T;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d",&n);
            int i,j;
            for(i=129;i>=0;i--)
            if(ta[n][i]!=0) break;
            printf("%d",ta[n][i]);
            for(j=i-1;j>=0;j--)
            printf("%05d",ta[n][j]);//5个字符宽度的整数,不够5个的左边用0补齐
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    Linux下动态库生成和使用
    ELK日志平台
    zabbix 监控端口
    zabbix 分布式zabbix_proxy
    zabbix 邮件报警 监控mysql主从
    Kubernetes 本地仓库
    kubernetes ui 搭建
    Kubernetes K8s
    Dockerfile
    Docker 指定容量
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/3814891.html
Copyright © 2020-2023  润新知