/*题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。*/
/* 例如6=1+2+3. */
/* 编程找出1000以内的所有完数。 */
/********************************************************************************/
我编了出来 但在2到1000内 只有6 没有其他数了 请问各高手在1000内还有其他数吗
谢谢
#include <iostream> using namespace std; void main() { for(int i=1; i<1000; i++){ int sum=0; for(int j=1; j<=i/2; j++) if(i%j==0) sum+=j; if(sum==i) cout <<i<<"是完数.\n"; } }
--------------------------- #include<stdio.h> main() { int x,i,sum; for(x=2;x<=1000;x++) { sum=0; for(i=1;i<=x/2;i++) if(x%i==0) sum+=i; if(sum==x) printf("完数:%d\n",sum); } } 晕死了。发的时候他突然说网页无法显示(发了nn次都没发出去)。我没办法上传抓图。不过大家可以上机验证一下。答案是 6 28 496
/********************************************************************************/ /*题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。*/ /* 例如6=1+2+3. */ /* 编程找出1000以内的所有完数。 */ /********************************************************************************/ #include <stdio.h>
void main() { int count; for(int i=1;i<=1000;i++) { count=1; for(int j=2;j<=i/2;j++) { if(i%j==0) count+=j; } if(i==count) printf("%5d",i); } printf("\n"); }