202 - Repeating Decimals
2015-02-15 11:30
155 查看
看了半天也没思路,后来在纸上写,发现是高三经常算到的地方,余数出现第二次就是循环了。
#include<stdio.h>
#include<string.h>
int main()
{
int fz,fm,i=0,j,flag,x,y,m;
int yu[3100],shang[3100],ci[3100];
while(scanf("%d%d",&fz,&fm)!=EOF){i=0;
printf("%d/%d = %d.",fz,fm,fz/fm);flag=1;
for(j=0;j<3100;++j)
ci[j]=0;
while(flag){
yu[i]=fz%fm;
++ci[yu[i]];
if(ci[yu[i]]==2){
m=yu[i];y=i;flag=0;
}
shang[i]=fz/fm;
fz=yu[i]*10;
++i;
}
for(j=0;j<i;++j){
if(yu[j]==m){
x=j;break;
}
}
for(j=1;j<=x;++j)
printf("%d",shang[j]);
printf("(");
if(y-x-1){
if(y-x>50){
for(;j<=x+50;++j)
printf("%d",shang[j]);
printf("...");
}
else
for(;j<=y;++j)
printf("%d",shang[j]);
}
else
printf("%d",shang[y]);
printf(")\n %d = number of digits in repeating cycle\n\n",y-x);
}
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
int fz,fm,i=0,j,flag,x,y,m;
int yu[3100],shang[3100],ci[3100];
while(scanf("%d%d",&fz,&fm)!=EOF){i=0;
printf("%d/%d = %d.",fz,fm,fz/fm);flag=1;
for(j=0;j<3100;++j)
ci[j]=0;
while(flag){
yu[i]=fz%fm;
++ci[yu[i]];
if(ci[yu[i]]==2){
m=yu[i];y=i;flag=0;
}
shang[i]=fz/fm;
fz=yu[i]*10;
++i;
}
for(j=0;j<i;++j){
if(yu[j]==m){
x=j;break;
}
}
for(j=1;j<=x;++j)
printf("%d",shang[j]);
printf("(");
if(y-x-1){
if(y-x>50){
for(;j<=x+50;++j)
printf("%d",shang[j]);
printf("...");
}
else
for(;j<=y;++j)
printf("%d",shang[j]);
}
else
printf("%d",shang[y]);
printf(")\n %d = number of digits in repeating cycle\n\n",y-x);
}
return 0;
}
相关文章推荐
- UVa-202 - Repeating Decimals
- (WA) 求改..UVa202 Repeating Decimals 循环小数 紫书习题3-8
- 《算法竞赛入门经典2ndEdition 》习题3-8 循环小数(Repeating Decimals, Uva202)
- 循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)
- UVA 202 - Repeating Decimals
- uva 202 - Repeating Decimals(循环小数)
- UVaOJ 202 - Repeating Decimals
- 小紫书 习题 3-8(UVA 202) 循环小数(Repeating Decimals)
- UVA 202 - Repeating Decimals【循环小数循环节】
- UVa 202, Repeating Decimals
- 算法竞赛入门经典(紫书)第三章——Repeating Decimals UVA-202
- UVaOJ 202 - Repeating Decimals
- UVa 202 Repeating Decimals
- UVA 202 Repeating Decimals
- 算法竞赛入门经典(第2版)习题3-8 循环小数 Repeating Decimals UVa202
- Uva 202 Repeating Decimals
- UVA - 202 Repeating Decimals
- UVa 202 - Repeating Decimals
- 202 - Repeating Decimals
- UVa202 Repeating Decimals