69,371
社区成员
发帖
与我相关
我的任务
分享
/* 趣味填数 */
#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();
}
#include <stdio.h>
int check_num(int m,int n)
{
int temp[10]={0};
int i;
int num;
for(;m;m=m/10)
{
temp[m%10]++;
}
for(;n;n=n/10)
{
temp[n%10]++;
}
for(num=i=0;i<10;i++)
{
if(temp[i]==1)num++;
}
if(num==9)return 1;
return 0;
}
int main()
{
int i;
for(i=100;i<=1000;i++)
{
if(check_num(i,i*i))
{
printf("sqrt(%d)=%d\n",i*i,i);
}
}
return 0;
}
/*题目要求:
使用数字1~9填充等式:sqrt(######)=###
每个#内数字互不相同,即遍历数字1~9
试找出所有的解。*/
#include <stdio.h>
int check_num(int m,int n)
{
int temp[10]={0};
int i;
int num;
for(;m;m=m/10)
{
temp[m%10]++;
}
for(;n;n=n/10)
{
temp[n%10]++;
}
for(num=i=0;i<10;i++)
{
if(temp[i]==1)num++;
}
if(num==6)return 1;
return 0;
}
int main()
{
int i;
for(i=100;i<=333;i++)
{
if(check_num(i,i*i))
{
printf("sqrt(%d)=%d\n",i*i,i);
}
}
return 0;
}