使用数字1~9填充等式:sqrt(######)=###
每个#内数字互不相同,即遍历数字1~9
试找出所有的解。
代码如下:
/* 趣味填数 */
#include <stdio.h>
#include <math.h>
main() {
int flag[10];
int i,a1,d,p,t;
long a2;
for (i=351;i<=987;i++) {
t=0;
for (p=1;p<=9;p++) flag[p]=1;
a1=i;
for (p=1;p<=3;p++) {
d =a1%10;
a1=a1/10;
if (flag[d]) {t++; flag[d]=0;}
}
a2=i*i;
for (p=1;p<=6;p++) {
d =a2%10;
a2=a2/10;
if (flag[d]) {t++; flag[d]=0;}
}
if (t==9)
printf("%d^2=%d\n",i,i*i);
}
getch();
}