-->
当前位置:首页 > 题库 > 正文内容

程序填空题:输出1到100之间的完数[1]

Luz4年前 (2021-05-10)题库3686
输出 1 到 100 之间的所有完数。要求定义和调用函数is(n)判断n是否为完数,若n为完数则返回1,否则返回0。完数就是因子和与它本身相等的数,6是完数(6=1+2+3),1不是完数。
```c++
#include

int is(int n);

int main(void)
{ int i;

for (i = 1; i <= 100; i++){
if ( is(i) ){
printf("%d ", i);
}
}

return 0;
}

int is (int n)
{
int i, sum;

@@[if(n == 1) return 0;](1)
sum = 0;
for (i = 1; i <= n/2; i++){
if(@@[n%i == 0](1)){
sum = sum + i;
}
}
if(@@[sum == n](1)) {
return 1;
}else{
return 0;
}
}
```






答案:
第1空:if(n == 1) return 0;

第2空:n%i == 0

第3空:sum == n

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。