「java输出完数」JAVA完数
今天给各位分享java输出完数的知识,其中也会对JAVA完数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
用java编写输出2到500之间的所有完数
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
for (int i = 2; i 500; i++) {
check(i);
}
}
private static void check(int i) {
SetInteger set = new HashSetInteger();
set.add(1);
for (int j = 2, l = (int) Math.sqrt(i); j = l; j++) {
if (i % j == 0) {
set.add(j);
set.add(i / j);
}
}
int sum = 0;
for (int j : set) {
sum += j;
}
if (sum == i) {
System.out.print(i + ": ");
for (int j : set) {
System.out.print(j + " ");
}
System.out.println();
}
}
}
求采纳
完数(Java编程),输入输出样式已给出
按照你的要求编写的判断完数的Java程序如下
import java.util.Scanner;
public class E {
public static void main(String[] args) {
System.out.println("请输入一个正整数");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
int sum=0;
int[]a=new int[32];
int n=0;
for(int i=1;inum;i++){
if(num % i==0){
sum=sum+i;
a[n]=i;
n++;
}
}
if(num==sum){
for(int j=0;jn;j++)
System.out.println(a[j]);
}else{
System.out.println("no");
}
}
}
运行结果
请输入一个正整数
6
1
2
3
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循环程序,找出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输出完数和JAVA完数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-21,除非注明,否则均为
原创文章,转载请注明出处。