您的位置:首页 > 编程语言

一个数如果恰好等于它的因子之和,这个数就称为“完数。例如6=1+2+3.编程找出1000以内的所有完数。

2015-06-02 13:23 429 查看
一个数如果恰好等于它的因子之和,这个数就称为“完数。例如6=1+2+3.编程找出1000以内的所有完数。

1 #import <Foundation/Foundation.h>//C语言这个地方是#include<stdio.h>

2

3 int main(int argc, const char * argv[]) {

4 @autoreleasepool {

5 int zhi=0,i=1,ax=0;

6 int nu[50]={};

7 while (i<1000) {

8 for (int j=1; j<=i/2; j++) {

9 if (!(i%j)) {//能整除执行

//printf("%d ",j);

zhi+=j;

if (zhi==i&&j>=i/2) {//如果i是偶数判断到i/2

//printf("这个数%d是完数,计算的和是:%d\n",i,zhi);

nu[ax]=i;

ax++;

}

}

if (i%2==0&&j>=i/2) {//如果是奇数判断到(i-1)/2

zhi=0;//printf("j已经大于i的一半了0000:i===%d\n",i);

}

if (i%2!=0&&j>=(i-1)/2) {

zhi=0;//printf("j已经大于i的一半了1111:i===%d\n",i);

printf("\n");

}

}

i++;

}

printf("1到1000以内的完数分别是:");

for (int i=0; nu[i]!=0; i++) {

printf("%d、",nu[i]);

}

}

return 0;

}

执行结果:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: