C++ 程序:查找 2 到 n 之间的守形数
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 是一个合法的正整数。
原文地址: https://www.cveoy.top/t/topic/qeK9 著作权归作者所有。请勿转载和采集!