习题6-3 使用函数输出指定范围内的完数 (20分)

网友投稿 1956 2022-10-26

习题6-3 使用函数输出指定范围内的完数 (20分)

习题6-3 使用函数输出指定范围内的完数 (20分)

这个我做的时候遇到了一个细节,导致我半天不知道哪里错了,就是第一个函数的number == 1时,直接返回1,而number != 1时,我的sum没加他的第一个因子1,导致一直过不去,函数二写好了还一直在函数二上浪费时间找错。今天记录下,注意细节!!! 以下是代码!`在这里插入代码片`

int factorsum( int number ){ int i, sum = 0; if ( number == 1) return 1; for ( i = 1; i <= number/2; i++ ){ if (number % i == 0) sum += i; } return sum;}void PrintPN( int m, int n ){ int i, j, cnt = 0; for ( i = m; i <= n; i++){ if (factorsum(i) == i){ printf("%d = 1", i); cnt++; for ( j = 2; j <= i/2; j++){ if(i % j == 0){ printf(" + %d", j); } } printf("\n"); } } if ( cnt == 0){ printf("No perfect number\n"); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CrawlerArtifact,是一种通用爬虫框架,为网络爬虫开发提供了多种简洁实用的框架封装
下一篇:7-29 删除字符串中的子串 (20分)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~