酷代码 AI
菜单
服务商

丑数判断与统计:C 语言实现 1 到 n 丑数输出及个数统计

```c #include <stdio.h> // 判断一个数是否为丑数 int isUgly(int num) { if (num <= 0) return 0; while (num % 2 == 0) num /= 2; while (num % 3 == 0) num /= 3; while (num % 5 == 0) num /= 5; return num == 1; } int main() { int n; scanf("%d", &n); int count = 0; // 统计丑数个数 int lineCount = 0; // 控制每行输出个数 for (int i = 1; i <= n; i++) { if (isUgly(i)) { printf("%6d", i); count++; lineCount++; // 每输出10个换行 if (lineCount == 10) { printf("\n"); lineCount = 0; } } } // 如果最后一行不满10个,需要换行 if (lineCount > 0) { printf("\n"); } // 输出丑数个数 printf("%d\n", count); return 0; } ``` 代码说明: 1. `isUgly`函数判断一个数是否为丑数: - 不断除以2、3、5,直到不能整除为止 - 如果最终结果为1,说明只包含2、3、5因子 2. 主程序逻辑: - 读取整数n - 遍历1到n的所有数字 - 使用`isUgly`函数判断是否为丑数 - 按格式输出丑数(每行10个,每个占6字符宽度) - 统计并输出丑数个数 运行示例: 输入:100 输出: ``` 1 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 36 40 45 48 50 54 60 64 72 75 80 81 90 96 100 34 ``` ######[AI问答 | 486点数解答 | 2026-01-12 17:51:47]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]