24h購物| | PChome| 登入
2009-04-23 20:26:01| 人氣1,177| 回應0 | 上一篇 | 下一篇

加法與次方的奧妙

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

重要!!看下面
若不想用作弊的方式,就必須善用大數,這個數高達3000位,光是跑進位可能就會TLE,
所以請用10萬進位法,來減少次數!

題目:

11+22+33+.....+1010=10405071317
來求:11+22+33+.....+10001000=?

輸入說明:

<無>

輸出說明:

直接輸出答案(11+22+33+.....+10001000=?)

答案:

10003681991446951770953750112276467955677936806229346545837609881002349107477161
94381428659099527845945869942643191290894720342979906407679647259860434238468038
32604080969103761537037623771364851006311573295146177424670558426686575960181584
36664428322845568803131145481515391909753984854966455765134658585827123364011662
21956188173449531674102688908321764663020306699770408625340766091595022791379368
09836930637560281385664635877375155877521346022579657984658333400734935862434233
93329813345712378888092831033487602613601759508156091794640268710052436521099808
63552142014242903434068560936573231079342194031864413918101238151056509267393515
76039284247250139159407346300152184381107376702171102630750469573346789782186690
66484698283466074129673958017977916836098347224322419528453525646818682403695695
66192825555323558078061997527689983848863374786789331581565252059172614339424600
98614325923316758337107036262555453185205416611714885822950858158961433759446327
75543805183809213012188363271022314073322011097401025802164692983317669206196460
83790732807627360614428085171565006289728508688964226799647192582924058589530750
67457838536556187855958968575622569234891474692281091391561983475411764835803581
41286702941585656699420877362863909422415472260150044713306301130720427042889050
42142628193771918594574302202147201188486345913190833752307476966010547423928871
06311878302603638131903905200825207205793366671291894623331279369709407422418787
20459709764443092427821877383202574900808243300749916986982395611258111276078639
00355221737846690567707344074494145266662103839812840216303448476913957072355732
71662709837224522304679291974725911315742582406485833141540094327821304295463505
35740452099845122212642419035501784168245514125486375900077790825392882477516535
66899882749594405895102587985539527709493510049546445427265617478399107188238681
77121590423411939224748975107908594805594509880561796372292846955426378221762516
04280082288455525403444948601952671151870922277661957539072111266461501406147442
33974765273475619964311852858614167819668340124730487710162006793529985758820653
67727437956331349545452663271872348233949482575982107640169431604345651211793793
54564635214630211977266949835589291323575761885949775166307342128638694561642055
25536767311298137182511494649463663073759219213056823561667776093739425742883930
71260996216346408803882656913203216069263720618308594298797368458427649178484311
54720779004016925956941192735535110259912654460393662889217435813332000837171052
41171504606883543418862024047552177055263424469501298905901938158245938633694105
02481516667981368915666834119771347509438990488712679446890189385047505001120522
57424555556257505602132303879103379839503332450206532389891155070138829562777638
80795687210857196493893142656713105966275422144605988058939600603604226921401402
09651929425048867029798339635327946045314237554226788198919748178978067895509376
31936586036908984748269769065444739780174557203679299817960230417858526267972712
83465789498383642350667978127819110846700

/*****************作弊!!*********************************/
#include<stdio.h>
#include<stdlib.h>
main()
{
 char x[3003]="請貼上面給的答案";

 for(a=0;a<=3000;a++)
  printf("%d",x[a]-48);
 return 0;
}

/***************正統*************************************/

#include<stdio.h>
#include<stdlib.h>
#define N 605   
main()
{
 int ans[700]={0};
 int a,b,c,d;
 for(a=1;a<=1000;a++)
  {
   int temp[700]={0};temp[0]=1;
   for(b=1;b<=a;b++)
    {
     for(c=0;c<N;c++)
      temp[c]=temp[c]*a;
     for(c=0;c<N;c++)
      if(temp[c]>=0)
       {temp[c+1]=temp[c+1]+temp[c]/100000;temp[c]=temp[c]%100000;}
    } 
    for(b=0;b<N;b++)
     ans[b]+=temp[b];
  }
 for(c=0;c<N;c++)
      if(ans[c]>=0)
       {ans[c+1]=ans[c+1]+ans[c]/100000;ans[c]=ans[c]%100000;}
 for(a=N-1;a>=0;a--)
  if(ans[a]!=0)
   {
    printf("%d",ans[a]);
    for(b=a-1;b>=0;b--)
     printf("%05d",ans[b]);
     break; 
   }       
 return 0;
}

台長: 來源不明
人氣(1,177) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ZeroJudge 基礎+原創題庫 |
此分類下一篇:畢氏的定理
此分類上一篇:長壽的兔子

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