题解
【入门】寻找雷劈数
1 条题解
-
0
解题思路
枚举所有四位数。把四位数分成前两位 ab 和后两位 cd,如果 (ab+cd) 的平方等于原数,就输出它。按从小到大枚举,自然就是升序。
参考代码
// 读取题目给出的数据。 // 按照题意完成计算。 #include <iostream> using namespace std; int main() { for (int n = 1000; n <= 9999; n++) { int a = n / 100; int b = n % 100; int s = a + b; // 判断前两位和后两位的和的平方 if (s * s == n) { cout << n << endl; } } return 0; }复杂度分析
这道题最多只进行有限次数的循环,时间复杂度为 O(n);代码只使用了几个变量,空间复杂度为 O(1)。
- 1