10000以内的完美数用Java以6=1+2+3的形式显示怎么编写啊
答案:3 悬赏:80 手机版
解决时间 2021-01-24 16:21
- 提问者网友:献世佛
- 2021-01-24 09:52
10000以内的完美数用Java以6=1+2+3的形式显示怎么编写啊
最佳答案
- 五星知识达人网友:夜余生
- 2021-01-24 10:39
public class Test22 {
public static void main(String[] args) {
int temp = 0;
for(int i=1;i<200;i++){
temp +=i;
if(temp<10000){
System.out.println("完美数"+temp);
System.out.println(temp+"是第"+i+"个完美数");
}
}
}
}因为1加到100是5050,所以n<200这个范围肯定已经超过10000了,
完美的控制这个n还没想好。
public static void main(String[] args) {
int temp = 0;
for(int i=1;i<200;i++){
temp +=i;
if(temp<10000){
System.out.println("完美数"+temp);
System.out.println(temp+"是第"+i+"个完美数");
}
}
}
}因为1加到100是5050,所以n<200这个范围肯定已经超过10000了,
完美的控制这个n还没想好。
全部回答
- 1楼网友:蓝房子
- 2021-01-24 12:24
public static void getPerfectNumber(int num) {
if (num <= 0) {
return;
}
int total = 0;
for (int i = 1; i <= num; i++) {
total = 0;
for (int j = 1; j <= i; j++) {
if (i % j == 0) {
if(i != j){
total += j;
}
}
}
if(total == i){
System.err.println("完美数:"+i);
}
}
}
- 2楼网友:詩光轨車
- 2021-01-24 10:50
public class ProfectNumber {
public static void main(String[] args) {
for (int i = 1; i < 10000; i++) {
int sum = 0;
String out="";
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
out+=j+"+";
}
}
if (sum == i) {
//System.out.println(i);
System.out.println(sum+"="+out.substring(0,out.length()-1));
}
}
}
}
结果:
6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124+248
8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064
己根据要求修改
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯