c语言打印完数及其因子,C语言打印出1000以内完数及其因子算法

题目要求:编写程序,输出 1000 以内的所有完数及其因子。所谓完数是指一个整数的值等于它的因子之和,例如 6 的因子是 1,2,3,而 6=1+2+3,故 6 是一个完数。/*求出 1000 以内的所有完数以及它的因子*/# include int main( void )int i, j, sum;/*第一个循环,检查从 1 到 1000 中的每一个数字是不是完数如果是完数,输出完数和它所有的因子*/for( i = 1; i = 1000; +i )/*检查该数字是否是完数方法:从 1 到 i-1,依次取余,余数为 0,说明是它的公约数,累加公约数,最后的值如果等于 i,这说明 i 就是完数。*/sum = 0;for( j = 1; j i; +j )if( i%j = 0 )sum += j;if( sum = i )printf( 完数是: %d,它的因子是:, i );/* 这个 for 循环是将其所有因子取出和第 22 行的 for 循环思路是一样的 */for( j = 1; j i; +j )if( i%j = 0 ) printf( %d , j );printf( n );return 0;/*VC+6.0 输出的结果是=完数是:6,它的因子是: 1 2 3完数是:28,它的因子是:1 2 4 7 14完数是:496,它的因子是:1 2 4 8 16 31 62 124 248=*/这个方法在理解起来是最简单的,但是时间复杂度比较高,考试的话没有什么问题的哦。。

《C语言打印出1000以内完数及其因子算法》由会员豆浆分享,可在线阅读,更多相关《C语言打印出1000以内完数及其因子算法》请在金锄头文库上搜索。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值