zoukankan      html  css  js  c++  java
  • hdu 1133

    看了别人的思路才找到怎么写的……

    #include "stdio.h"
    #include "string.h"

    int fib[210][400];
    int len=1;

    void cal_fib(int n)
    {
     int i,j;
     int carry=0;

     memset(fib,0,sizeof(fib));

     fib[0][0]=1;
     fib[1][0]=1;
     len=1;
     for(i=2;i<=n;i++)
     {
      carry=0;
      for(j=0;j<len;j++)
      {
       fib[i][j]=fib[i-1][j]*i+carry;
       if(fib[i][j]>=10)
       {
        carry=fib[i][j]/10;
        fib[i][j]=fib[i][j]%10;
       }
       else
        carry=0;
       //printf("1:%d carry:%d ",fib[i][j],carry);
      }
      while(carry!=0)
      {
       fib[i][len++]=carry%10;
       carry=carry/10;
       //printf("1:%d ",fib[i][j]);
      }
      //printf("\nlen:%d\n",len);
     }
    }

    int main()
    {
     int m,n;
     int s[401];
     int carry,borrow,i,j,k,t;
     int count=1;

     //cal_fib();

     while(scanf("%d%d",&m,&n)==2)
     {
      if(m==0&&n==0)
       break;
      if(n>m)
      {
       printf("Test #%d:\n",count++);
       printf("0\n");
       continue;
      }
      len=1;
      cal_fib(m+n);
      //printf("\nmain->len:%d\n",len);
      k=m+1-n;
      carry=0;

      /*for(i=len-1;i>=0;i--)
       printf("%d",fib[m+n][i]);
      printf("\n");*/

      memset(s,0,sizeof(s));

      //printf("\n*len:%d\n",len);
      for(i=0;i<len;i++)
      {
       s[i]=fib[m+n][i]*k+carry;
       if(s[i]>=10)
       {
        carry=s[i]/10;
        s[i]=s[i]%10;
       }
       else
        carry=0;
       //printf("%d",s[i]);
      }
      while(carry)
      {
       s[len++]=carry%10;
       carry=carry/10;
      }

      borrow=0;

      for(i=len-1;i>=0;i--)
      {
       t=s[i]+borrow*10;
       borrow=t%(m+1);
       s[i]=t/(m+1);
      }
      printf("Test #%d:\n",count++);
      i=len-1;
      while(!s[i])
       i--;
      for(;i>=0;i--)
       printf("%d",s[i]);
      printf("\n");
     }

     return 0;
    }

  • 相关阅读:
    oracle体系结构
    Oracle表连接(转)
    Oracle的RBO和CBO
    Linux下安装Tomcat服务器和部署Web应用
    动态创建selectjs 操作select和option
    JS中如何获取<Select>中value和text的值
    原生JavaScript事件详解
    动态添加select的option
    js 动态加载事件的几种方法总结
    js实现select动态添加option
  • 原文地址:https://www.cnblogs.com/Shirlies/p/2353052.html
Copyright © 2011-2022 走看看