题目:一个数如果恰好等于它的因数之和,这个数就称为“完数”要求出1000之内的所有完数;
分析:先求出一个数所有的因数,将因数之和用变量sum记录,书写条件逻辑表达式判断sum值是否与该数相等,相等即符合完数的条件,设置循环体的生命周期在1000之内
-java描述
package studay;
public class WanShu {
static int i;
static int j;
static int sum=0;
public static void main(String[] args) {
for(i=1;i<=1000;i++) {
sum=0;
for(j=1;j<i;j++) {
if(i%j==0) {
sum+=j;
}
}
if(i==sum) {
System.out.println("1000之内的完数有"+sum);
}
}
}
}
-C语言描述:
#include <stdio.h>
void main()
{
int i,j;
printf("1000之内的所有完数:\n");
for(i=6;i<1000;i++){
int sum=0;
for(j=1;j<i;j++){
if(i%j==0)
sum = sum+j;
}
if(sum==i)printf("%d,",i);
}
}
输出结果为:6,28,496