您的位置:首页 > 编程语言 > C语言/C++

【C语言训练】求具有abcd=(ab+cd)2性质的四位数

2018-02-09 11:25 218 查看
题目链接:http://115.28.203.224/problem.php?cid=1010&pid=16

题目描述

3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数

输入

输出

满足题意的数全部四位数(从小到大输出,且数之间用两个空格分开)

样例输出

2025 3025 9081

提示

根据题意可以采用穷举法,对所有四位数进行判断,从而筛选出符合这种性质的四位数。具体算法实现,可任取一个四位数,将其截为两部分,前两位为a,后两位为b,然后套用公式计算并判断。

代码

1 #include <iostream>
2 using namespace std;
3 int main()
4 {
5     int i = 0;
6     for (int a = 10; a < 100; a++)
7         for (int b = 0; b < 100; b++)
8             if (a*100+b == (a+b)*(a+b))
9             {
10                 cout<<a*100+b;
11                 i++;
12                 if (i < 3)
13                     cout<<" ";
14             }
15     return 0;
16 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐