#include<cstdio>
#include<cstring>
char a[6000];
int b[6000];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
int f=0;
int count1=0,cur=0;
int s=n/m;
int u=(n%m)*10;
int i=0;
a[i++]='.';
while(i<6000)
{
if(f==1)break;
if(u/m==0)
{
b[i]=u;
a[i++]='0';
u=u*10;
//printf("%d",u);
}
else
{
b[i]=u;
a[i++]='0'+u/m;
u=(u%m)*10;
}
for(int k=1;k<i-1;k++)
{
if(b[i-1]==b[k])
{
f=1;
count1=i-1;
cur=k;
//printf("%d ",b[k]);
break;
}
}
}
a[i]='\0';
printf("%d/%d = %d",n,m,s);
int r1=0;
for(int k=0;k<i-1;k++)
{
if(r1==51){printf("...");break;
}
if(cur==k)printf("(");
printf("%c",a[k]);
r1++;
}
printf(")\n");
printf(" %d = number of digits in repeating cycle\n\n",count1-cur);
}
return 0;
}
Repeating Decimals UVA - 202
最新推荐文章于 2020-12-24 19:44:07 发布