24h購物| | PChome| 登入
2009-05-31 06:22:30| 人氣272| 回應0 | 上一篇 | 下一篇

自守數

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

先將答案算出來,再作輸出

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

#include<stdio.h>           
#include<stdlib.h>
#include<string.h>
main()
{
 int a,b,c,d,n,x[1002];
 char numx[1002]="3127812540013369008603488908436402387576593682197962618191

783352049270419932487523782586714827890534489744014261231703

569954841949944461060814620725403655999827158835603504932779

554074196184928095209375302685239093756283914857161236735197

060922424239877700757495578727155976741345899753769551586271

888794151630756966881635215504889827170437850802843408441264

412682184851415772991603449701789233579668499144738956600193

254582767800061832985442623282725755611073316069701586498422

229125548572987933714786632317240551575610235254399499934560

808380119074153006005605574481870969278509977591805007541642

852770816201135024680605816327617167676526093752805684421448

619396049983447280672190667041724009423446619781242669078753

594461669850806463613716638404902921934188190958165952447786

184614091287829843843170324817342888657273766314651910498802

944796081467376050395719689371467180137561905546299681476426

390395300731910816980293850989006216650958086381100055742342

3230896109004106619977392256259918212890625";
 char numy[1002]="4872187459986630991396511091563597612423406317802037381808

216647950729580067512476217413285172109465510255985738768296

430045158050055538939185379274596344000172841164396495067220

445925803815071904790624697314760906243716085142838763264802

939077575760122299242504421272844023258654100246230448413728

111205848369243033118364784495110172829562149197156591558735

587317815148584227008396550298210766420331500855261043399806

745417232199938167014557376717274244388926683930298413501577

770874451427012066285213367682759448424389764745600500065439

191619880925846993994394425518129030721490022408194992458357

147229183798864975319394183672382832323473906247194315578551

380603950016552719327809332958275990576553380218757330921246

405538330149193536386283361595097078065811809041834047552213

815385908712170156156829675182657111342726233685348089501197

055203918532623949604280310628532819862438094453700318523573

609604699268089183019706149010993783349041913618899944257657

6769103890995893380022607743740081787109376";
  while(scanf("%d",&n)==1)
  {
   int flag=1;
   for(a=1001-n;a<=1000;a++)
    if(numx[a]>numy[a]) {flag=0;break;}
    else break;
    if(flag==1)
     {
      for(a=1001-n;a<=1000;a++)
       printf("%c",numx[a]);
        printf("\n");
      for(a=1001-n;a<=1000;a++)
       printf("%c",numy[a]);
        printf("\n");
     }
    else
     {
      for(a=1001-n;a<=1000;a++)
       printf("%c",numy[a]);
        printf("\n");
      for(a=1001-n;a<=1000;a++)
       printf("%c",numx[a]);
        printf("\n");
     }
  }    
 return 0;
}

/*************計算用的程式碼***/

#include<stdio.h>  
#include<stdlib.h>  
main()  
{  
  int n,a,b,c,a1,b1,c1;
  int line[1001]={0};
  line[0]=6;
  line[1]=7;
  for(a=2;a<=1000;a++)
  {
   for(b=0;b<10;b++)
    {
      line[a]=b;
      int temp[10001]={0};
      for(a1=0;a1<1000;a1++)
       for(b1=0;b1<1000;b1++)
          temp[a1+b1]=temp[a1+b1]+line[a1]*line[b1];
      for(a1=0;a1<2000;a1++)
       {
           temp[a1+1]=temp[a1+1]+temp[a1]/10;
           temp[a1]=temp[a1]%10;
       }   
           for(c1=0;c1<=a;c1++)
            if(temp[c1]!=line[c1]) break;          
           if(c1==a+1) break;       
    }
   }
   for(a=1000;a>=0;a--)
    printf("%d",line[a]);
  system("pause");
}
 

台長: 來源不明

您可能對以下文章有興趣

人氣(272) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ZeroJudge 基礎+原創題庫 |
此分類下一篇:程式設計師的面試問題
此分類上一篇:算算算....Hard

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