c语言计算从1-N有多少个好数
时间: 2024-09-29 10:05:00 浏览: 36
在C语言中,判断一个数是否为“好数”通常是指判断它是否同时是5和3的倍数,也就是能被15整除。如果一个数能被15整除,则称其为好数。你可以编写一个循环程序,从1到N遍历每个数,检查它们是否是好数,并计数。
以下是一个简单的示例代码:
```c
#include <stdio.h>
int is_happy_number(int n) {
int sum = 0;
while (n != 0) {
int digit = n % 10;
sum += digit * digit;
n /= 10;
}
return (sum == 15 || sum == 35) ? 1 : 0; // 如果和等于15或35,那么是好数,返回1;否则不是,返回0
}
int count_happy_numbers(int N) {
int count = 0;
for (int i = 1; i <= N; i++) {
if (is_happy_number(i)) {
count++;
}
}
return count;
}
int main() {
int N;
printf("请输入一个正整数N: ");
scanf("%d", &N);
int happy_count = count_happy_numbers(N);
printf("从1到%d之间的好数有 %d 个。\n", N, happy_count);
return 0;
}
```
在这个代码中,`is_happy_number`函数用于检查一个数是否是好数,`count_happy_numbers`函数负责统计1到N范围内的好数个数。用户输入N后,会输出相应的好数个数。
阅读全文