java代碼怎么求親密數(shù) c語言求親密數(shù)

JAVA 求2~1000中的所有親密數(shù)對(親密數(shù)對是指:如果A的因子和等于B,B的因子和等于A

public class QinMi {

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計,東至網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:東至等地區(qū)。東至做網(wǎng)站價格咨詢:028-86922220

private int a[] = new int[999];//存儲2-1000的每個數(shù)的因子和

private int duiShui = 0;//親密數(shù)的對數(shù)

public int[] jiSuan() {

for (int i = 2; i = 1000; i++) {//外層循環(huán)是從2-1000

int sum = 0;

for (int j = 1; j i; j++) {//判斷該數(shù)是不是可以被整除、排除本身

if (i % j == 0) {

sum += j;//計算該數(shù)的因子和

}

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]) {//如果相等對數(shù)就增加一次

duiShui++;

}

}

}

System.out.println(duiShui);

}

public static void main(String[] args) {

QinMi a = new QinMi();

a.jiSuan();

a.howMany();

}

用Java編程找親密數(shù)對

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;

}

}

注意,此題中的親密數(shù)定義似乎和傳統(tǒng)的定義不一樣,此題中是除去1和自身,而傳統(tǒng)的定義是包括1。

我的輸出是

48, 75

140, 195

Java編程.輸出20-1000之間所有的親密數(shù).若A的因子和等于B,B的因子和等于A,且A≠B,則A和B互稱親密數(shù)

public?static?void?main(String[]?args)?{

for(int?i?=?20;?i?=?1000;?i++)?{

int?pair?=?intimateNumber(i);

if?(pair??i??intimateNumber(pair)?==?i)?{

System.out.println(i?+?",?"?+?pair);

}

}

}

public?static?int?intimateNumber(int?n)?{

if(n?=?0)?{

return?-1;

}

int?squareRoot?=?(int)Math.floor(Math.sqrt(n));

int?result?=?0;

for(int?i?=?2;?i?=?squareRoot;?i++)?{

if(n?%?i?==?0)?{

if(i?*?i?!=?n)?{

result?+=?i?+?n?/?i;

}?else?{

result?+=?i;

}

}

}

return?result;

}

求3000以內(nèi)的親密數(shù)(編程)

#includestdio.h int main() { int a,i,b,n; printf("There are following friendly--numbers pair smaller than 3000:\n"); for(a=1;a3000;a++) /*窮舉1000以內(nèi)的全部整數(shù)*/ { for(b=0,i=1;i=a/2;i++) /*計算數(shù)a的各因子,各因子之和存放于b*/ if(!(a%i))b+=i; /*計算b的各因子,各因子之和存于n*/ for(n=0,i=1;i=b/2;i++) if(!(b%i))n+=i; if(n==aab) printf("%4d..%4d ",a,b); /*若n=a,則a和b是一對親密數(shù),輸出*/ } } *運(yùn)行結(jié)果 There are following friendly--numbers pair smaller than 3000: 220.. 284 1184.. 1210 2620.. 2924

求n以內(nèi)的親密數(shù)對(Java編程),輸入輸出樣例已有

按照你的要求編寫的求n以內(nèi)的親密數(shù)對的Java程序如下

import?java.util.Scanner;

public?class?CCC?{

public?static?void?main(String[]?args)?{

int?a,b,i,n,num;

System.out.println("請輸入一個正整數(shù)");

Scanner?sc=new?Scanner(System.in);

n=sc.nextInt();

for(a=1;an;a++)

{

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

if(a%i==0)?b+=i;?

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

if(b%i==0)?num+=i;

if(num==a??ab)

System.out.println(a+","+b);

}

}

}

運(yùn)行結(jié)果

請輸入一個正整數(shù)

3000

220,284

1184,1210

2620,2924

網(wǎng)頁標(biāo)題:java代碼怎么求親密數(shù) c語言求親密數(shù)
文章分享:http://www.muchs.cn/article2/doochoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、響應(yīng)式網(wǎng)站域名注冊、靜態(tài)網(wǎng)站網(wǎng)站收錄、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)