aabb完全平方数
Description
输出所有形如aabb的4位完全平方数 (即前两位数字相等,后两位数字也相等)。
Input
无需输入
Output
输出时,一行一个,最后一行输出总的个数。
HINT
完全平方数是指一个数可以表示为另一个整数的平方。例如,4、9、16等都是完全平方数,因为它们可以分别表示为2²、3²、4²。
python解法
count = 0 # 计数器,用于记录满足条件的数的数量
for i in range(1000, 10000): # 遍历1000到9999之间的所有整数
sqrt_i = int(i ** 0.5) # 计算i的平方根并取整数值
if sqrt_i * sqrt_i != i: # 如果i不是完全平方数,则跳过
continue
# 提取千位、百位、十位和个位数字
thousands = i // 1000
hundreds = (i // 100) % 10
tens = (i // 10) % 10
ones = i % 10
# 检查千位和百位是否相同,以及十位和个位是否相同
if thousands == hundreds and tens == ones:
print(i) # 如果条件满足,则打印该数
count += 1 # 计数器加1
print(count) # 打印满足条件的数的总数
c++解法
#include <iostream>
#include <cmath> // 引入cmath库以使用sqrt函数
using namespace std;
int main() {
int count = 0; // 计数器,用于记录满足条件的数的数量
for (int i = 1000; i <= 9999; ++i) {
int sqrt_val = static_cast<int>(sqrt(i)); // 计算i的平方根并取整数值
if (sqrt_val * sqrt_val != i) {
// 如果i不是完全平方数,则跳过当前循环的剩余部分
continue;
}
int thousands = i / 1000; // 提取千位数
int hundreds = (i / 100) % 10; // 提取百位数
int tens = (i / 10) % 10; // 提取十位数
int ones = i % 10; // 提取个位数
if (thousands == hundreds && tens == ones) {
// 如果千位和百位相同,且十位和个位相同,则输出该数并增加计数器
cout << i << endl;
count++;
}
}
cout << "Total count: " << count << endl; // 输出满足条件的数的总数
return 0; // 程序正常结束
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
作者:小鱼
链接:https://www.52stu.com/?p=188
文章版权归作者所有,未经允许请勿转载。
链接:https://www.52stu.com/?p=188
文章版权归作者所有,未经允许请勿转载。
THE END