关于java亲和书的信息

博主:adminadmin 2022-12-11 19:21:07 65

今天给各位分享java亲和书的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA 求2~1000中的所有亲密数对(亲密数对是指:如果A的因子和等于B,B的因子和等于A

public class QinMi {

private int a[] = new int[999];//存储2-1000的每个数的因子和

private int duiShui = 0;//亲密数的对数

public int[] jiSuan() {

for (int i = 2; i = 1000; i++) {//外层循环是从2-1000

int sum = 0;

for (int j = 1; j i; j++) {//判断该数是不是可以被整除、排除本身

if (i % j == 0) {

sum += j;//计算该数的因子和

}

a[i - 2] = sum;//存储到容器中

}

}

return a;

}

public void howMany() {//计算有多少对

for (int i = 0; i a.length - 1; i++) {//用的是选择排序的思想

for (int j = i + 1; j a.length; j++) {

if (a[i] == a[j]) {//如果相等对数就增加一次

duiShui++;

}

}

}

System.out.println(duiShui);

}

public static void main(String[] args) {

QinMi a = new QinMi();

a.jiSuan();

a.howMany();

}

用Java编程找亲密数对

import java.util.*;

 

public class Main{

     

    public static void main (String [] args) {

     boolean [] found = new boolean[1001];

     int t;

     for (int i = 2; i  1000; i++) {

     if (!found[i]) {

     t = find(i);

     found[i] = true;

     if (t = 1000) found[t] = true;

     if (find(t) == i)

     System.out.printf("%d, %d\n", i, t);

     }

     }

    }

    

    private static int find (int n) {

     int result = 0;

     for (int i = 2; i  n; i++)

     if (n % i == 0)

     result += i;

     return result;

    }

    

}

注意,此题中的亲密数定义似乎和传统的定义不一样,此题中是除去1和自身,而传统的定义是包括1。

我的输出是

48, 75

140, 195

Java 求亲密数

试试

public class 亲密数{

public static void main(String argv [] ){

int a,i,b,n;

System.out.println("There are following friendly-numbers pair smaller than 6000:\n");

for(a=1;a6000;a++){ //穷举6000以内的全部整数

for(b=0,i=1;i=a/2;i++){//*计算数a的各因子,各因子之和存放于b

if((a%i)==0){

b+=i;

}

}

//*计算b的各因子,各因子之和存于n

for(n=0,i=1;i=b/2;i++){

if((b%i)==0){

n+=i;

}

}

if(n==aab){

System.out.println( String.format("%4d..%4d\n",a,b) );//*若n=a,则a和b是一对亲密数,输出

}

}

}

}

java亲和书的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java亲和书的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-11,除非注明,否则均为首码项目网原创文章,转载请注明出处。