java求完數(shù)的代碼 Java求完數(shù)

java求完數(shù)

因?yàn)檫@里的sum實(shí)際上就是你要的完數(shù),所以你在1到1000之內(nèi),沒(méi)算一次完數(shù),就需要把sum置為0;不然就像你把int sum=0;放到for(int i=1;i=1000;i++)之前,sum每次都沒(méi)有置0,sum會(huì)一直累加,所以sum不會(huì)等于i,所以沒(méi)有輸出結(jié)果了

創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比東寧網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式東寧網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋東寧地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

JAVA編程 完全數(shù)

public class PerfectNumber{

private static String[] isPrefectnumber(int n){

int sum=0;

StringBuffer sBuffer = new StringBuffer();;

for (int i = 1; i n; i++) {

if (n % i == 0){

sum += i;

sBuffer.append(","+i);

}

}

if (sum==n) {

return sBuffer.toString().replaceFirst(",", "").split(",");

}else {

return new String[0];

}

}

public static void main(String[] args){

String[] al= isPrefectnumber(t);

if (al.length!=0) {

StringBuffer sb = new StringBuffer();

sb.append(t+"是完數(shù),其因子為");

for (int i = 0; i al.length ; i++) {

sb.append(","+al[i]);

}

System.out.println(sb.toString());

} else {

System.out.println(t+"不是完數(shù)");

}

}

}

求1000以內(nèi)的所有完數(shù)

#include stdio.h

void main()

{

int i,j;

printf("1000之內(nèi)的所有完數(shù):\n");

for(i=6;i1000;i++){

int sum=0;

for(j=1;ji;j++){

if(i%j==0)

sum = sum+j;

}

if(sum==i)printf("%d,",i);

}

}

輸出結(jié)果為:6,28,496

原代碼中的sum 初始化的位置是錯(cuò)誤的,導(dǎo)致結(jié)果不正確,正確代碼請(qǐng)看我的回答。

擴(kuò)展資料:

完數(shù),一般指完全數(shù),一個(gè)自然數(shù)如果它的所有真因子(即除了自身以外的約數(shù))的和等于該數(shù),那么這個(gè)數(shù)就是完全數(shù),如:6的真因子有1 、2、3,6=1+2+3,所以6是一個(gè)完全數(shù)。

求1000以內(nèi)的完數(shù)可以用C,C++、java和Pascal語(yǔ)言等,下面舉例java語(yǔ)言實(shí)現(xiàn)代碼。

用java編寫(xiě)1000以內(nèi)的完數(shù)如下:

public class PerfectNumber {????public static void main(String[] args) {????System.out.println("1000以內(nèi)的所有完數(shù)有:");????for (int i = 2; i 1000; i++) {// 遍歷1000以內(nèi)的所有整數(shù)??????int sum = 0;// 定義和變量??????for (int j = 1; j i; j++) {????????if (i % j == 0) {// 滿足是i的因子,就累加??????????sum += j;????????}??????}??????if (sum == i) {// 滿足因子之和等于i就打印該完數(shù)????????System.out.print(i + " ");??????}????}??}}

java編程 求完全數(shù)

直接把我的答案復(fù)制測(cè)試,一定通過(guò)。。

注意:類(lèi)名

public class QiouWanQuanShu {

public static void main(String[] args) {

int sum=0; //用來(lái)存放因數(shù)的和

System.out.print("1000中de完全數(shù)有:");

for(int i=1;i=1000;i++){ //循環(huán)1000次

for(int j=1;ji;j++){

if(i%j==0) //判斷除數(shù)是否被整除

sum=sum+j;

}

if(i==sum) //判斷因數(shù)是否與這個(gè)數(shù)的本身想等

System.out.print(i+" ");

sum=0; //初始存放因數(shù)的和,下次循環(huán)繼續(xù)用

}

}

}

網(wǎng)頁(yè)題目:java求完數(shù)的代碼 Java求完數(shù)
轉(zhuǎn)載注明:http://muchs.cn/article14/docodde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、小程序開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站關(guān)鍵詞優(yōu)化、域名注冊(cè)、面包屑導(dǎo)航

廣告

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

商城網(wǎng)站建設(shè)