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,然后套用公式计算并判断。

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题