c语言定义一个函数fwan1(int n),输入正整数n(n>100),在n到9999范围内寻找最小的完数并输出这个数,如果没有则输出0
时间: 2024-02-12 19:06:05 浏览: 53
C语言程序设计-从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出;本.c
5星 · 资源好评率100%
好的,下面是函数`fwan1(int n)`的实现:
```c
#include <stdio.h>
int fwan1(int n) {
int i, j, sum;
for (i = n; i <= 9999; i++) {
sum = 0;
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
return i;
}
}
return 0;
}
int main() {
int n, res;
printf("请输入一个正整数n(n > 100):");
scanf("%d", &n);
res = fwan1(n);
if (res == 0) {
printf("在%d到9999范围内没有完数\n", n);
} else {
printf("在%d到9999范围内寻找到的最小的完数为:%d\n", n, res);
}
return 0;
}
```
函数`fwan1(int n)`的实现采用了暴力枚举的方法,在给定的范围内从n开始循环,每次计算当前数的因子和,如果等于该数本身,则找到了一个完数,返回该数即可。如果在整个循环结束后仍然没有找到完数,则返回0,表示该范围内没有完数。
在`main()`函数中,首先读入一个正整数n,然后调用`fwan1(int n)`函数来寻找最小的完数。最后根据函数的返回值来输出结果,如果返回0,则表示该范围内没有完数,否则输出找到的最小完数即可。
阅读全文