守形数

Description

若某数的平方,其低位与该数相等,则称其为守形数。如25*25=625,625的低位与25相同,故25是守形数.求2-10000中的守形数及其个数。

Output

一行一个守形数,
最后一行输出一个整数,表示共多少个守形数。

python解法

# 初始化守形数的计数器
shouxing_count = 0  # 定义一个变量来记录守形数的数量,初始值为0

# 使用for循环遍历从2到10000的所有整数
for i in range(2, 10001):
    # 计算当前整数i的平方
    num = i * i

    # 下面的条件判断当前数字num的个位、十位、百位和千位是否等于i
    if num % 10 == i or num % 100 == i or num % 1000 == i or num % 10000 == i:
        # 如果满足上述条件之一,则打印该数字
        print(num)
        # 同时,守形数的计数器加1
        shouxing_count += 1

# 打印守形数的总数
print(shouxing_count)

c++解法

#include<bits/stdc++.h>
using namespace std;

int main() {
    int shouxing_count = 0; // 定义一个变量来记录守形数的数量,初始值为0

    // 使用for循环遍历从2到10000的所有整数
    for (int i = 2; i <= 10000; ++i) {
        // 计算当前整数i的平方
        int num = i * i;

        // 下面的条件判断当前数字num的个位、十位、百位和千位是否等于i
        if (num % 10 == i || num % 100 == i || num % 1000 == i || num % 10000 == i) {
            // 如果满足上述条件之一,则打印该数字
            std::cout << num << std::endl;
            // 同时,守形数的计数器加1
            shouxing_count++;
        }
    }

    // 打印守形数的总数
    cout << shouxing_count << endl;

    return 0;
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
THE END