24h購物| | PChome| 登入
2009-05-09 20:11:58| 人氣371| 回應0 | 上一篇 | 下一篇

退休的福利

推薦 0 收藏 0 轉貼0 訂閱站台

作法:大數
加速法:十億進位

第一個是十億進位
第二個是十進位

/*****************************************************/

#include<stdio.h>
#include<stdlib.h>
#define N 35
main()
{
 int a,b,c,math[1001][40]={0};
 math[1][0]=1;
 for(a=2;a<1001;a++)
  {
    for(b=0;b<N;b++)
     {
      math[a][b]=math[a][b]+math[a-1][b]*2;   
       if(math[a][b]>=0)
       {
         math[a][b+1]=math[a][b+1]+math[a][b]/1000000000;
         math[a][b]%=1000000000;
       }
     }
  }
  for(a=2;a<1001;a++)
  {
    for(b=0;b<N;b++)
     math[a][b]=math[a][b]+math[a-1][b];
    for(b=0;b<N;b++)
     if(math[a][b]>=0)
       {
         math[a][b+1]=math[a][b+1]+math[a][b]/1000000000;
         math[a][b]%=1000000000;
       }
  }
 int n;
 while(scanf("%d",&n)!=EOF)
   {
     for(a=N-1;a>=0;a--)
        if(math[n][a]!=0)
          {
            printf("%d",math[n][a]);
            for(b=a-1;b>=0;b--)
             printf("%09d",math[n][b]);
             printf("\n");
             break;
          }
   }
 return 0;
}

/****************************************************/

#include<stdio.h>
#include<stdlib.h>
#define N 350
main()
{
 int a,b,c,math[1001][350]={0};
 math[1][0]=1;
 for(a=2;a<1001;a++)
  {
    for(b=0;b<N;b++)
     math[a][b]=math[a-1][b]*2;
    for(b=0;b<N;b++)
     if(math[a][b]>=0)
       {
         math[a][b+1]=math[a][b+1]+math[a][b]/10;
         math[a][b]%=10;
       }
  }
  for(a=2;a<1001;a++)
  {
    for(b=0;b<N;b++)
     math[a][b]=math[a][b]+math[a-1][b];
    for(b=0;b<N;b++)
     if(math[a][b]>=0)
       {
         math[a][b+1]=math[a][b+1]+math[a][b]/10;
         math[a][b]%=10;
       }
  }
 int n;
 while(scanf("%d",&n)!=EOF)
   {
     for(a=N-1;a>=0;a--)
      {
        if(math[n][a]!=0)
          {
            for(b=a;b>=0;b--)
             printf("%d",math[n][b]);
             printf("\n");
             break;
          }
      }
   }
 return 0;
}

台長: 來源不明
人氣(371) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ZeroJudge 基礎+原創題庫 |
此分類下一篇:轉了一大圈
此分類上一篇:古代神祕文字

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文