1148: 组合三位数之一

来源:互联网 发布:c语言 最大公约数 编辑:程序博客网 时间:2024/05/18 03:44

Description

把1、2、3、4、5、6、7、8、9组合成3个3位数,要求每个数字仅使用一次,使每个3位数均为完全平方数。按从小到大的顺序输出这三个三位数。

Input

Output

按从小到大的顺序输出这三个三位数,由空格隔开。输出占一行。

Sample Input

Sample Output

HINT

Source


#include <stdio.h>#include <stdlib.h>#include<string.h>int main(){    int m,n,k,q,w,e;    int a[11]={0};    int find;int i;    for(m=13;m<32;m++)    {        for(n=m+1;n<32;n++)        {            for(k=n+1;k<32;k++)            {                q=m*m;                while(q>0)                {                    a[q%10]++;                    q/=10;                }                w=n*n;                while(w>0)                {                    a[w%10]++;                    w/=10;                }                e=k*k;                while(e>0)                {                    a[e%10]++;                    e/=10;                }                find=1;                for(i=1;i<10;i++)                {                    if(a[i]!=1)                    {                        find=0;                        break;                    }                }                if(find==1)                {                    printf("%d %d %d\n",m*m,n*n,k*k);                }               memset(a,0,sizeof(a));            }        }    }    return 0;}