導航:首頁 > 編程語言 > java1000以內完數

java1000以內完數

發布時間:2025-06-02 13:16:29

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也為其因子)如果等於這個數本身,則為完數

}

}

(1)java1000以內完數擴展閱讀

在數學領域,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以內的所有完數

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以內的完全數

運行結果
1000以內的完全數是:
6
28
496
總計有3個

public class Main
{
public static void main(String args[])
{
int count=0;//用來統計完全數的個數
System.out.println("1000以內的完全數是:");
for(int i=1;i<=1000;i++)
{
int sum=0;//每一次循環都重新開始累加求和
for(int j=1;j<i;j++)
{
if(i%j==0) sum+=j;//累加真因子(除i以外的因子)的和
}
if(sum==i)//輸出完全數並統計個數
{
System.out.println(i);
count++;
}
}
System.out.println("總計有"+count+"個");
}
}

㈣ 一個數如果恰好等於它的因子之和,這個數就稱為完數,編寫一個JAVA程序1000內的所有完數

源代碼如下:

#include <stdio.h>

main()

{

int i,j;

int sum;

for(i=1;i<=1000;i++)

{

sum=0;

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

{

if(i%j==0)

sum+=j;

}

if(sum==i)

{

printf("%d its factors are ",i);

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

if(i%j==0)

printf("%d ",j);

}

printf(" ");

}

(4)java1000以內完數擴展閱讀

1、完全數是一些特殊的自然數,它所有的真因子即除了自身以外的約數的和即因子函數,恰好等於它本身。

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

3、有約數1、2、4、7、14、28,除去它本身28外,其餘5個數相加,1+2+4 + 7 + 14=28。後面的數是496、8128。

閱讀全文

與java1000以內完數相關的資料

熱點內容
逃跑吧少年如何掃碼登錄安卓手機 瀏覽:743
開山工廠壓縮空氣管道 瀏覽:837
java線程佔用內存 瀏覽:487
解壓動畫修指甲游戲 瀏覽:487
m型壓縮機 瀏覽:137
店鋪電腦收銀系統資料庫加密 瀏覽:887
python27mac下載 瀏覽:275
程序員為啥叫程序員 瀏覽:104
編譯原理龍書第二章習題 瀏覽:65
離心式壓縮機試車方案 瀏覽:488
板的演算法例題 瀏覽:621
逗拍視頻壓縮設置 瀏覽:405
身份證加密哪幾位 瀏覽:443
黎明殺機伺服器為什麼會卡退 瀏覽:429
模數10加權演算法 瀏覽:126
不用指令方伺服器如何獲得32k 瀏覽:93
php介面繼承類 瀏覽:777
太平app怎麼下載 瀏覽:281
伊朗加密貨幣被制裁 瀏覽:451
python編程綜述 瀏覽:734