请编程验证任意的是3的倍数的正整数都是“数字黑洞”,并输出验证的步数。C语言
时间: 2024-03-21 22:43:01 浏览: 114
数字黑洞问题C程序求解
5星 · 资源好评率100%
可以使用以下代码来验证任意的是3的倍数的正整数都是“数字黑洞”:
```
#include <stdio.h>
int main() {
int n, count = 0;
printf("请输入一个是3的倍数的正整数:");
scanf("%d", &n);
while (n != 9) {
count++;
int sum = 0;
while (n) {
sum += n % 10;
n /= 10;
}
n = sum;
}
printf("经过%d步验证,%d是数字黑洞。\n", count, n);
return 0;
}
```
程序中使用了两个 while 循环,第一个 while 循环用于验证输入的数是否为 9,如果不是,则进入第二个 while 循环,计算各位数字之和。然后再将计算出的和赋值给 n,直到 n 等于 9 为止。最后输出验证的步数和验证的结果。
需要注意的是,此程序只适用于输入的是 3 的倍数的正整数。如果输入的数不是 3 的倍数,程序将会进入死循环。因此,在实际应用中需要加上输入合法性的判断。
阅读全文