C++ 程序:查找 2 到 n 之间的守形数

守形数是指其平方数的低位数字与其自身相同的数字。例如:25 的平方是 625,625 的低位数字是 25,因此 25 是一个守形数。

以下是一个使用 C++ 代码查找 2 到 n 之间的守形数的程序:

#include <iostream>
#include <cmath>

bool isAutomorphic(int num) {
    int square = num * num;
    int temp = num;
    while (temp > 0) {
        if (temp % 10 != square % 10) {
            return false;
        }
        temp /= 10;
        square /= 10;
    }
    return true;
}

void findAutomorphicNumbers(int n) {
    for (int i = 2; i <= n; i++) {
        if (isAutomorphic(i)) {
            std::cout << i << ' ';
        }
    }
}

int main() {
    int n;
    std::cout << "请输入 n 的值:";
    std::cin >> n;
    std::cout << "2 到 " << n << " 之间的守形数为:";
    findAutomorphicNumbers(n);
    std::cout << std::endl;
    return 0;
}

该程序首先定义了一个名为 isAutomorphic 的函数,用于判断一个数是否为守形数。该函数接收一个整数作为参数,首先计算该数的平方,然后通过循环逐位比较该数与其平方的低位数字是否相等。如果所有位数都相等,则该函数返回 true,否则返回 false

接下来,定义了一个名为 findAutomorphicNumbers 的函数,用于查找 2 到 n 之间的守形数。该函数通过循环遍历 2 到 n 之间的每个数,对每个数调用 isAutomorphic 函数来判断是否为守形数。如果该数是守形数,则输出该数。

最后,在 main 函数中,程序从用户输入获取 n 的值,并调用 findAutomorphicNumbers 函数来查找 2 到 n 之间的守形数,并将结果输出到控制台。

注意:该程序假设用户输入的 n 是一个合法的正整数。

C++ 程序:查找 2 到 n 之间的守形数

原文地址: https://www.cveoy.top/t/topic/qeK9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录