问题:1085 - 寻找雷劈数
类型:for循环
题目描述:
把整数 3025 从中剪开分为 30 和 25 两个数,此时再将这两数之和平方,计算结果又等于原数。
(30+25)×(30+25)=55×55=3025 ,这样的数叫“雷劈数”。
求所有符合这样条件的四位数。(ab+cd)×(ab+cd)=abcd
输入:
无
输出:
若干行,每行一个雷劈数,从小到大输出。
完整代码如下:
#include<iostream>
using namespace std;
int main(){
//一、分析问题
//已知:雷劈数
//未知:所有符合这样条件的四位数
//关系:(ab+cd)×(ab+cd)=abcd
//二、数据定义
int ab,cd;
//三、数据输入
//四、数据计算
for(int i=1000;i<10000;i++){
ab=i/100;
cd=i%100;
if(i==(ab+cd)*(ab+cd)){
//五、输出结果
cout<<i<<endl;
}
}
return 0;
}