1886 - 【C语言训练】求具有abcd=(ab+cd)2性质的四位数
3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数
题目输入
题目输出
满足题意的数全部四位数(从小到大输出,且数之间用两个空格分开)
输入/输出样例
题目输入
no input needed
题目输出
2025 3025 9801
提示
根据题意可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。具体算法实现,可任取一个四位数,将其截为两部分,前两位为a,后两位为b,然后套用公式计算并判断。
C++解答
#include<iostream> using namespace std; int main() { for (int i=1000; i<10000; i++) { int a=i/100,b=i%100; if (i==(a+b)*(a+b)) cout<<i<<" "; } cout<<endl; return 0; }
提示
根据题意可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。具体算法实现,可任取一个四位数,将其截为两部分,前两位为a,后两位为b,然后套用公式计算并判断。