#include "stdio.h"
int flag(int ,int );
int same(int ,int );
int main()
{
int n,m;
int c,d;
int count=1;
for(n=1;n<100;n++)
for(m=n+1;m<100;m++)
{
c=flag(n,m);
if(c==1)
{
d=same(n,m);
if(d==1)
{
printf("%d/%d ",n,m);
count++;
if(count%10==0)
putchar('\n');
}
}
}
return 0;
}
int flag(int n,int m)
{
int i,j;
int a[10000];
int flag=0;
for(i=0;;i++)
{
a[i]=(n*10)%m;
n=(n*10)%m;
if(a[i]==0)
break;
for(j=0;j<i;j++)
{
if(a[i]==a[j] && a[i]!=0)
{
flag=1;
break;
}
}
if(flag==1)
break;
}
return flag;
}
int same (int n,int m)
{
int temp;
while (1)
{
if(m%n==0)
{
return n;
break;
}
else
{
temp=n;
n=m%n;
m=temp;
}
}
}
找到一般以内的可以组成无限循环小数的所有组合
最新推荐文章于 2024-03-14 20:53:10 发布