2009-03-06 19:24:36來源不明
ACM 275 Expanding Fractions
注意這題與這題並不太相同,存的東西改變!!
不過很相似就對了,用陣列去看餘數是否曾出現過
/***********************************************************/
#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;
}