引言
友好数是指一个数等于除了它自身以外的所有数字的乘积之和,
本文旨在找出10000到99999之间的所有“友好数。
图列展示

- int ADD(int num) ——定义一个函数
ADD,接受一个整数num作为参数。 - int original = num;
int product = 1;
int sum = 0;初始化三个变量:
original:存储原始数字,用于后续比较。product:存储所有数字的乘积,初始值为1。sum:存储所有数字的和,初始值为0。- while (num > 0) {
int digit = num % 10; // 获取当前最低位的数字
num /= 10; // 移除当前最低位的数字
sum += digit; // 将当前数字加到总和中
product *= digit; // 将当前数字乘到乘积中
} -
- 使用
while循环,直到num变为0。 - 在每次循环中,使用
%操作符获取num的最低位数字,并将其存储在digit中。 - 使用
/=操作符将num除以10,从而移除最低位数字。 - 将
digit加到sum中,累加所有数字。 - 将
digit乘到product中,累乘所有数字。
- 使用
- product /= original; // 移除原始数——将
product除以original,从而移除原始数字,只保留其他数字的乘积。 - int main() {
for (int i = 10000; i <= 99999; i++) {
if (ADD(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
} - 使用
for循环遍历10000到99999之间的所有数字。 - 对于每个数字
i,调用ADD函数检查是否满足友好数的条件。 - 如果满足条件(
ADD(i)返回1),则打印该数字。 - 最后打印一个换行符。
1968

被折叠的 条评论
为什么被折叠?



