24h購物| | PChome| 登入
2009-03-06 19:24:36| 人氣869| 回應0 | 上一篇 | 下一篇

ACM 275 Expanding Fractions

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

注意這題與這題並不太相同,存的東西改變!!
不過很相似就對了,用陣列去看餘數是否曾出現過

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

#include<stdio.h>
#include<stdlib.h>
main()
{
 int n,m;
 while(scanf("%d %d",&n,&m)==2&&m!=0)
  {
   int time=1,flag=0,math[1001]={0};
   /*判斷方式 餘數相同(出現過2次)*/
   printf(".");
   math[n]=1;
   while(1)
    {
     if(time%50==0)
       printf("\n");
      time++;
      printf("%d",n*10/m);
      n=n*10%m;
      if(n==0) {flag=1;break;}
      if(math[n]!=0) break;
       math[n]=time;
    }
    if(flag==0)
     printf("\nThe last %d digits repeat forever.\n",time-math[n]);
    else
     printf("\nThis expansion terminates.\n"); 
  }
 return 0;
}

台長: 來源不明
人氣(869) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 357 Q357: Let Me Count The Ways
此分類上一篇:ACM 350 Pseudo-Random Numbers

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