问题标题: 酷町堂:4543 三个完全平方数

0
0
已解决
董宇昊
董宇昊
初级启示者
初级启示者

4543   三个完全平方数经验值:0

题目描述 Description

用1-9这9个数字各一次,组成一个两位完全平方数,一个三位完全平方数,一个四位完全平方数。请找出所有的答案。

输入描述 Input Description

输出描述 Output Description

有几组解输出几行,每行三个数,分别是两位数,三位数,四位数,之间用空格隔开,代表一组解

样例输入 Sample Input

样例输出 Sample Output

16 784 5329 ……


0
已采纳
陈振轩
陈振轩
高级光能
高级光能
void digit(int x){
    while(x){
        a[x%10]++;
    x/=10;
    }
}
bool sf(){
    for(int i=1;i<=9;i++)
        if(a[i]!=1)
            return 0;
    return 1;
}

函数部分

思路:

 循环(sqrt(12)~sqrt(98)){
        循环(sqrt(123)~sqrt(987)){
            for(sqrt(1234)~sqrt(9876)){
                清空a数组
                int x=i*i, y=j*j, z=k*k;
                digit(x);
                digit(y);
                digit(z);
                如果(sf())
                    输出x,y,z,换行
            }
        }
    }

注:a为桶数组

0
0
0
0
0
0
0
我要回答