導航:首頁 > 編程語言 > 1000以內的完數java

1000以內的完數java

發布時間:2023-01-13 04:26:38

Ⅰ 1000以內的完數有哪些

有三個,6、28、496。

第一個完全數是6,它有約數1、2、3、6,除去它本身6外,其餘3個數相加,1+2+3=6。

第二個完全數是28,它有約數1、2、4、7、14、28,除去它本身28外,其餘5個數相加,1+2+4+7+14=28。

第三個完全數是496,有約數1、2、4、8、16、31、62、124、248、496,除去其本身496外,其餘9個數相加,1+2+4+8+16+31+62+124+248=496。

推導公式:

大數學家歐拉曾推算出完全數的獲得公式:如果p是質數,且2^p-1也是質數,那麼(2^p-1)X2^(p-1)便是一個完全數。

例如p=2,是一個質數,2^p-1=3也是質數,(2^p-1)X2^(p-1)=3X2=6,是完全數。

例如p=3,是一個質數,2^p-1=7也是質數,(2^p-1)X2^(p-1)=7X4=28,是完全數。

例如p=5,是一個質數,2^p-1=31也是質數,(2^p-1)X2^(p-1)=31X16=496是完全數。

Ⅱ 求1000以內的所有完數

#include <stdio.h>
void main()
{
int i,j;
printf("1000之內的所有完數: ");
for(i=6;i<1000;i++){

int sum=0;

for(j=1;j<i;j++){

if(i%j==0)

sum = sum+j;

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

}

}

輸出結果為:6,28,496

原代碼中的sum 初始化的位置是錯誤的,導致結果不正確,正確代碼請看我的回答。

(2)1000以內的完數java擴展閱讀:

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

求1000以內的完數可以用C,C++、java和Pascal語言等,下面舉例java語言實現代碼。

用java編寫1000以內的完數如下:

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

Ⅲ 編寫java循環程序,找出1000以內的所有完數

publicclassTest{

publicstaticvoidmain(String[]args){
inti,j,sum;//sum用來存放因子之和
for(i=1;i<1000;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+"itsfactorsare:");//是完數,輸出
for(j=1;j<=i/2;j++)//再次找出這個完數的因子
{
if(i%j==0)//輸出各個因子
System.out.print(j+",");
}
System.out.println();
}
}
}
}

這些題網路裡面都是找得到的

Ⅳ JAVA編程題:找出1000以內的完數:一個數如果恰好等於它的因子之和,這個數就稱為 "完數 "。例如6=1+2+3.

include <iostream>

using namespace std;

int main() {

for (int i = 2; i <= 1000; i++) {//從2到1000的數

int sum = 0;//因子總和

for (int j = 1; (j * j) <= i; j++) {//j做除數,√n復雜度,減少一半的計算量

if (i % j == 0) {//可以整除,為其因子

sum = j + (i / j) + sum;//因子之和

}

}

if ((sum - i) == i) cout << "1000以內的完數:" << i << endl;//因子之和減去其本身(1*i也為其因子)如果等於這個數本身,則為完數

}

}

(4)1000以內的完數java擴展閱讀

在數學領域,6是第一個完全數,也是最小的完全數。所謂完全數(又稱完美數或完備數),是一種特殊的自然數;它所有的真因子(即除了自身以外的約數)的和,恰好等於它本身。

例如6有約數1、2、3、6,除去它本身6外,其餘3個數相加,1+2+3=6;第二個完全數是28,它有約數1、2、4、7、14、28,除去它本身28外,其餘5個數相加,1+2+4+7+14=28。公元前6世紀的古希臘數學家、哲學家畢達哥拉斯是最早探究完全數的人,他已經知道6和28這兩個自然數是完全數了。

Ⅳ 用java代碼求1000之內的所有完全數

import java.util.ArrayList;

public class Testa {

public static void main( String[] args ) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
for ( int i = 1; i <= 1000; i++ ) {
int k=0;
for(int j=1;j<i;j++){
if(i%j==0){
k+=j;
}
}
if(k==i){
arrayList.add( i );
}
}
System.out.println(arrayList);
}

}

閱讀全文

與1000以內的完數java相關的資料

熱點內容
扣扣加密技巧 瀏覽:720
蘋果如何創建伺服器錯誤 瀏覽:495
軟考初級程序員大題分值 瀏覽:473
js壓縮視頻文件 瀏覽:578
linux如何通過命令創建文件 瀏覽:989
應用加密app還能訪問應用嘛 瀏覽:433
安卓怎麼用支付寶交違章罰款 瀏覽:665
php面向對象的程序設計 瀏覽:504
數據挖掘演算法書籍推薦 瀏覽:894
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:276
unsignedintjava 瀏覽:217
編譯器下載地址 瀏覽:43
什麼是面對對象編程 瀏覽:709
b站伺服器什麼時候恢復 瀏覽:722