用c++求出1到100间有奇数个不同因子的整数共有多少个?其中最大的一个是什么数?
时间: 2024-05-10 10:21:18 浏览: 168
c++求1~100间的质数
思路:
1. 枚举1到100的所有整数,计算它们的因子个数;
2. 判断因子个数是否为奇数,若是则计数器加1;
3. 输出计数器的值,以及满足条件的最大整数。
代码实现:
```c
#include <stdio.h>
// 计算因子个数
int count_factors(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
count++;
}
}
return count;
}
int main() {
int count = 0; // 计数器
int max_num = 0; // 最大整数
for (int i = 1; i <= 100; i++) {
int factors = count_factors(i);
if (factors % 2 == 1) {
count++;
if (i > max_num) {
max_num = i;
}
}
}
printf("1到100间有奇数个不同因子的整数共有%d个,其中最大的一个是%d。\n", count, max_num);
return 0;
}
```
输出结果:
```
1到100间有奇数个不同因子的整数共有12个,其中最大的一个是81。
```
阅读全文