Dim a as Integer,b as Integer,c as Integer For a = 1 To 10000 c = 0 For b = 1 To a \ 2 If a Mod b = 0 Then c = c + b Next b If a = c Then Print Str(a) Next a
import java.util.ArrayList;
public class T013 {
public static void main(String[] args){
ArrayList p = new ArrayList(); // 保存每组的分解因子
int count = 0; // 计数(完数的总个数)
int sum; // sum = (每个因子之和)
for(int i=2;i<10000;i++){ // 测试每个数 i
sum = 0;
for(int j=1;j<i/2+1;j++){
if(i%j==0){
p.add(j); // 保存 i 的每个因子
sum += j; // 保存sum(i的所有因子相加之和)
}
}
if(sum==i){ // 如果当前 i 是完数,则输出(i=所有因子之和)
count++;
System.out.printf("%4d"+" 是完数,因子是"+i+"=",i);
for(int k=0;k<p.size()-1;k++){
System.out.print(p.get(k)+"+");
}
System.out.println(p.get(p.size()-1));
}
p.clear(); // 每个 i 结束,清空数组,重计下一个i的因子。
}
System.out.println("\n共找到"+count+"个完数!");
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有