求1000以内的完数(一个数恰好等于她的因子之和 eg. 6=1+2+3, 6是完数)
来源:互联网 发布:公文流转登记软件 编辑:程序博客网 时间:2024/05/16 11:56
1.#define M 1000 /*定义寻找范围*/#include <stdio.h>int main() { int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10; int i,a,n,s; for (a=2;a<=M;a++) /* a是2-1000之间的整数,检查它是否完数 */ {n=0; /* n用来累计a的因子的个数 */ s=a; /* s用来存放尚未求出的因子之和,开始时等于a */ for (i=1;i<a;i++) /* 检查i是否a的因子 */ if (a%i==0) /* 如果i是a的因子 */ {n++; /* n加1,表示新找到一个因子 */ s=s-i; /* s减去已找到的因子,s的新值是尚未求出的因子之和 */ switch(n) /* 将找到的因子赋给k1...k9,或k10 */ {case 1: k1=i; break; /* 找出的笫1个因子赋给k1 */ case 2: k2=i; break; /* 找出的笫2个因子赋给k2 */ case 3: k3=i; break; /* 找出的笫3个因子赋给k3 */ case 4: k4=i; break; /* 找出的笫4个因子赋给k4 */ case 5: k5=i; break; /* 找出的笫5个因子赋给k5 */ case 6: k6=i; break; /* 找出的笫6个因子赋给k6 */ case 7: k7=i; break; /* 找出的笫7个因子赋给k7 */ case 8: k8=i; break; /* 找出的笫8个因子赋给k8 */ case 9: k9=i; break; /*找出的笫9个因子赋给k9 */ case 10: k10=i; break; /* 找出的笫10个因子赋给k10 */ } } if (s==0) { printf("%d ,Its factors are ",a); if (n>1) printf("%d,%d",k1,k2); /* n>1表示a至少有2个因子 */ if (n>2) printf(",%d",k3); /* n>2表示至少有3个因子,故应再输出一个因子 */ if (n>3) printf(",%d",k4); /* n>3表示至少有4个因子,故应再输出一个因子 */ if (n>4) printf(",%d",k5); /* 以下类似 */ if (n>5) printf(",%d",k6); if (n>6) printf(",%d",k7); if (n>7) printf(",%d",k8); if (n>8) printf(",%d",k9); if (n>9) printf(",%d",k10); printf("\n"); } } return 0; } //感觉这个代码。。。好麻烦。。。 2. #include<cstdio>#include<algorithm>#include<iostream>#include<cmath>#include<iomanip>#include<cstring>using namespace std;int main(){ int n,s; for(n=1; n<1000; n++){ s=0; for(int i=1; i<n; i++){ if(n%i==0) s+=i; } if(s==n) { printf("%d its factors are ", n); for(int i=1; i<n; i++){ if(n%i==0) printf("%d ",i); } printf("\n"); } } return 0;}
阅读全文
0 0
- 求1000以内的完数(一个数恰好等于她的因子之和 eg. 6=1+2+3, 6是完数)
- 题目:一个数如果恰好等于它的因子之和,这个数被成为“完数”,例如:6=1+2+3。请编程找出1000以内的完数。
- 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程找出1000以内的所有完数。
- 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。(java)
- 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。(java)
- 编写一个控制台应用程序,求1000之内的所有“完数”。所谓“完数”是指一个数恰好等于它的所有因子之和。例如,6是完数,因为6=1+2+3。
- 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
- C100-19 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
- 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如6=1+2+3.编程 找出1000以内的所有完数。
- 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
- 用unity来写 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数
- 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
- 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
- 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
- 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
- 一个数如果恰好等于除它本身外的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
- 题目: 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数
- 【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如6=1+2+3.编程找出1000以内的所有完数。
- log4j.properties详细配置文档
- javac运行过程
- Android面试题
- 第九章项目二 二叉树遍历的递归算法
- 普通java程序包含的线程
- 求1000以内的完数(一个数恰好等于她的因子之和 eg. 6=1+2+3, 6是完数)
- 异常:java.lang.NoClassDefFoundError: org/quartz/spi/JobFactory
- Java Enumeration 解析
- 求1~10,20~30,35~45的三个和。
- 11.7第五节课
- 选择排序
- 高效的两段式循环缓冲区──BipBuffer
- Hive优化总结
- 单片机存储理解