回复 37楼 azzbcc
#include <stdio.h>
void change(char *chars, int n, int *a)
{
if (n==0)
{
*a = 0;
return;
}
change(chars, n / 2, a);
chars[(*a)++] = n % 2 + '0';
chars[*a] = '\0';
}
char *judge(char *a, int n)
{
char *p;
int num = 1;
for ( p = a + 1;*p != '\0';p++)
{
num *= 10 % n;
num %= n;
num += (*p - '0') % n;
}
if (num % n)
return 0;
else
return a;
}
int main()
{
int i,j,n;
char chars[10000][100];
for ( j = 1;j < 10000;j++)
change(chars[j-1], j, &i);
for (;;)
{
scanf ("%d",&n);
if (n==0)
break;
else
for (j=0;;j++)
{
if (judge(chars[j],n))
{
printf ("%s\n",chars [j]);
break;
}
}
}
return 0;
}
很奇怪。输入99的时候。。窗口蹦的一声出错了- -!!其他都还行。