「用java找完数」找出n以内的所有完数java
今天给各位分享用java找完数的知识,其中也会对找出n以内的所有完数java进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、编写java循环程序,找出1000以内的所有完数
- 2、java求100以内完数。
- 3、Java怎么判断是否是完数
- 4、java编程 求完全数
- 5、设计java程序找出1到100的完数。
- 6、java求完数
编写java循环程序,找出1000以内的所有完数
public class Test {
public static void main(String[] args) {
int i,j,sum; //sum用来存放因子之和
for(i=1;i1000;i++) //对1到1000以内的数依次尝试
{
sum = 0; //给sum赋值,同时也是对上一次的值清空
for(j=1;j=i/2;j++) //查找因子
{
if(i%j==0) // 如果是因子
{
sum+=j; //把当前的因子累加到sum中
}
}
if(sum==i) //判断是不是完数,即因子之和等于自身
{
System.out.print(i+" its factors are: "); //是完数,输出
for(j=1;j=i/2;j++) //再次找出这个完数的因子
{
if(i%j==0) //输出各个因子
System.out.print(j+", ");
}
System.out.println();
}
}
}
}
这些题百度里面都是找得到的
java求100以内完数。
看不懂的话给我发信息。我已经写的很详细了,有些基本语法要不懂,可以查下百度。
public class test{
//取出1-no之间的所有完数
public static void getWS(int no){
for(int i=4;i=no;i++){//因为1,2,3肯定不是完数,就姑且从4开始检查,一直检查到no
if(checkWS(i)){
System.out.println(i);//调用checkWS(int n)方法,检查该整数是否是完数。如果该数是完数,输出。
}
}
}
//判断整数n是否是完数
public static boolean checkWS(int n){
int sum=1;//1肯定是一个能整除整数n的被除数,初始化n的所有因子之和sum
for(int i=2;i=n/2;i++){
if(n%i==0){//%求余,如果余数等于0,则i为该整数的因子,那么把sum=sum+i.这里只检查从2到n/2之间的数,因为大于4的整数最大的因子不会超过他的一半, 这样能提高程序效率
sum+=i;
}
}
return sum==n?true:false;//如果最终因子和sum等于它本身则返回true,否则返回false
}
public static void main(String args[]){
getWS(100);//输出100内的完数,这里的数字填多少就找出1-多少之间的所有完数
}
}
Java怎么判断是否是完数
完数就是它的所有(余数为0的)被除数相加的和等于它本身(其中的被除数要除去它本身)
判断10000以内的完数
for(long i =1;i10000;i++){
long sum=0;
for (long j=1;ji+1 ;j++ )
{
if(i%j==0){
sum+=j;
}
}
if(sum/2==i){
System.out.println(i);
}
}
不知道我的理解对不对。。。。。
java编程 求完全数
直接把我的答案复制测试,一定通过。。
注意:类名
public class QiouWanQuanShu {
public static void main(String[] args) {
int sum=0; //用来存放因数的和
System.out.print("1000中de完全数有:");
for(int i=1;i=1000;i++){ //循环1000次
for(int j=1;ji;j++){
if(i%j==0) //判断除数是否被整除
sum=sum+j;
}
if(i==sum) //判断因数是否与这个数的本身想等
System.out.print(i+" ");
sum=0; //初始存放因数的和,下次循环继续用
}
}
}
设计java程序找出1到100的完数。
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List retList = getPerfectNumber(1,100);
Iterator itr = retList.iterator();
while (itr.hasNext()){
System.out.println(itr.next());
}
}
/**求某整数范围内的完数(当2个入参相等时相当于判断其是否为完数)
* @param minNumber
* @param maxNumber
* @return
*/
private static List getPerfectNumber (int minNumber, int maxNumber){
List resultList = new LinkedList();//用来存放找到的完数
//检查入参
if (minNumber1 || minNumbermaxNumber){
System.out.println("入参错误,minNumber必须大于0且小于或等于maxNumber");
return resultList;
}
for (int i=minNumber; i=maxNumber;i++){
int sum = 1;
for (int j=2; ji;j++){
if (i%j==0){//找到真约数
sum = sum + j;//累计真约数
}
}
if (sum !=1 sum == i){//找到完数
resultList.add(i);
}
}
return resultList;
}
}
java求完数
因为这里的sum实际上就是你要的完数,所以你在1到1000之内,没算一次完数,就需要把sum置为0;不然就像你把int sum=0;放到for(int i=1;i=1000;i++)之前,sum每次都没有置0,sum会一直累加,所以sum不会等于i,所以没有输出结果了
关于用java找完数和找出n以内的所有完数java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。