相关文章
更多最近更新
更多用JAVA语言编写“求相亲数”
2019-03-25 13:46|来源: 网路
220的真因数之和为1+2+4+5+10+11+20+22+44+55+110=284
284的真因数之和为1+2+4+71+142=220
毕达拉哥斯把这样的数对A,B称为相亲数;A的真因数之和为B,而B的真因数之和为A,求3000位以内的相亲数
用JAVA语言编写
问题补充:
本人是个初学者,请问下如何把这两个数打印出来呢?我打印的时候
Exception in thread "main" java.lang.ArithmeticException: / by zero
at testlove.IsMarrayNum(testlove.java:11)
at testlove.main(testlove.java:4)
问题补充:
这是0除数错误,呵呵,写得心急,没注意。
相亲数是:6和6
相亲数是:28和28
相亲数是:220和284
相亲数是:284和220
相亲数是:496和496
相亲数是:1184和1210
相亲数是:1210和1184
相亲数是:2620和2924
相亲数是:2924和2620
最终的运行结果是这样的,但是(6,6)(28,28),(496,469)是不属于相亲数的。。而且出现了重复的问题
284的真因数之和为1+2+4+71+142=220
毕达拉哥斯把这样的数对A,B称为相亲数;A的真因数之和为B,而B的真因数之和为A,求3000位以内的相亲数
用JAVA语言编写
问题补充:
jjjssh 写道
public static void IsMarrayNum(int num){
int sum=0;
for(int i =0;i<num;i++){
if(num%i==0)
sum+=i;
}
int sum2=0;
for(int j=0;j<sum;j++){
if(sum%j==0)
sum2+=j;
}
if(sum2==num)
//是相亲数那就用一个对象存起来
}
public static void main(String args[]){
for(int i=0 ;i<3000;i++){
IsMarrayNum(i);
}
}
感觉效率不高,呵呵
int sum=0;
for(int i =0;i<num;i++){
if(num%i==0)
sum+=i;
}
int sum2=0;
for(int j=0;j<sum;j++){
if(sum%j==0)
sum2+=j;
}
if(sum2==num)
//是相亲数那就用一个对象存起来
}
public static void main(String args[]){
for(int i=0 ;i<3000;i++){
IsMarrayNum(i);
}
}
感觉效率不高,呵呵
本人是个初学者,请问下如何把这两个数打印出来呢?我打印的时候
Exception in thread "main" java.lang.ArithmeticException: / by zero
at testlove.IsMarrayNum(testlove.java:11)
at testlove.main(testlove.java:4)
问题补充:
jjjssh 写道
引用
Exception in thread "main" java.lang.ArithmeticException: / by zero
这是0除数错误,呵呵,写得心急,没注意。
public class Test2 { /** * @param args */ public static void main(String[] args) { for(int i=1 ;i<3000;i++){ IsMarrayNum(i); } } public static void IsMarrayNum(int num){ int sum=0; for(int i =1;i<num;i++){ if(num%i==0) sum+=i; } int sum2=0; for(int j=1;j<sum;j++){ if(sum%j==0) sum2+=j; } if(sum2==num){ //是相亲数那就用一个对象存起来 System.out.println("相亲数对:"+num+", "+sum); } } }
相亲数是:6和6
相亲数是:28和28
相亲数是:220和284
相亲数是:284和220
相亲数是:496和496
相亲数是:1184和1210
相亲数是:1210和1184
相亲数是:2620和2924
相亲数是:2924和2620
最终的运行结果是这样的,但是(6,6)(28,28),(496,469)是不属于相亲数的。。而且出现了重复的问题
相关问答
更多-
中山小榄到中山东升镇高沙第二工业园怎么去?[2023-04-02]
小榄车站上28路在高沙路口下车就行了,那有一个辉煌美食城. -
求用JAVA语言JBuilder编写的考试系统源代码[2023-06-09]
1.1 Java历史与概述 1.2 创建第一个Java程序 1.2.1 用记事本编写源程序 ... 1.4.2 产生源代码 1.4.3 编译和运行程序 1.4.4 设计图形用户界面小结实验思考练习题 ... 第6章常用的Java系统类第7章异常处理第8章多线程第9章IO流库第10章用JBuilder制作和 ... 训教程/21世纪高职高专新概念教材PASCAL语言程序设计教程(2级)/计算机等级考试系列 -
怎么用JAVA方法求2个数里面最大的数[2022-04-26]
设a、b表示两个数字 double t; if(a>=b)t=a;else t=b; //t里的数就是最大的(两者相等就t为相等的那个数)。 -
如何使用java语言编写app[2023-09-25]
使用java编写android的app需要下载adt 这属于ecilpse的一种特殊插件,使用adt就可进行app的编程了。编写后生成apk放入手机中直接进行安装即可 -
public static void main(String[] args) { double n0 = Double.parseDouble(args[0]); double n1 = Double.parseDouble(args[1]); double n2 = Double.parseDouble(args[2]); double max = n0; if (max < n1) max = n1; if (max < n2) max = n2; System.out.println("max num ...
-
JAVA语言编写的软件有哪些?现在常用的应用软件是什么语言编写的?[2023-07-22]
常用的软件没有一个Java写的。java开发的最成功的桌面软件只有java开发工具自身:Netbeans,Jbuilder,Eclipse。 Java的应用主要是在大型企业级应用的后台开发与移动开发(如手机游戏)两个方面。 -
java程序用什么语言编写[2022-06-19]
汗。。。既然是java小程序 当然是java语言咯 你是想问用什么工具写把~ 记事本~~+jdk随便的一个版本就可以了 -
求一个数的绝对值在JAVA语言中用什么符号表示?[2022-11-17]
Math.abs(double d).参数d是double型的值。 -
Java语言程序设计 题目:编写一个程序,求Y值。要求用if-else 编写 往下面看看[2023-10-28]
import java.util.Scanner; public class C { public static void main(String[] args) { int x; int y=0; System.out.println("请输入X的值"); Scanner q = new Scanner(System.in); x = q.nextInt(); if (x > 0) { y= x + 2; } else if (x == 0) { y= x - 2; } else if (x < 0) { ...