请编程验证任意的是3的倍数的正整数都是“数字黑洞”,并输出验证的步数。C语言
时间: 2024-03-21 16:43:01 浏览: 35
可以使用以下代码来验证任意的是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 的倍数,程序将会进入死循环。因此,在实际应用中需要加上输入合法性的判断。
相关问题
用C语言编程实现任意读入两个正整数,输出它们的最小公倍数
```c
#include <stdio.h>
int main() {
int num1, num2, i, lcm;
printf("请输入两个正整数:\n");
scanf("%d %d", &num1, &num2);
// 计算最大公约数
for (i = 1; i <= num1 && i <= num2; ++i) {
if (num1 % i == 0 && num2 % i == 0) {
lcm = i;
}
}
// 计算最小公倍数
lcm = (num1 * num2) / lcm;
printf("它们的最小公倍数为:%d\n", lcm);
return 0;
}
```
编程实现输出100以内所有是3的倍数或者含有3的正整数
以下是可实现输出100以内所有是3的倍数或者含有3的正整数的 Python 代码:
```python
for i in range(1, 101):
if i % 3 == 0 or '3' in str(i):
print(i)
```
注意:该代码使用了 Python 的 for 循环、if 判断、取余、字符串包含等语法,仅供参考。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)