142857
付上 c 的实现,多谢golden的提醒!
void getbits(int i,int* p)
{
for(;i!=0;)
{
p[i%10]++;
i/=10;
}
}
int compare(int i,int j)
{
int a[10]={0};
int b[10]={0};
int k;
getbits(i,a);
getbits(j,b);
for(k = 0; k < 10; k++)
{
if (a[k]!=b[k]) return 0;
}
return 1;
}
main()
{
int i;
for(i = 100000; i < 1000000 / 6; i++)
{
if (compare(i, 2 * i) &&
compare(i, 3 * i) &&
compare(i, 4 * i) &&
compare(i, 5 * i) &&
compare(i, 6 * i) )
printf("%d\n",i);
}
} |