當前位置:首頁 » 編程語言 » java求1000以內的完數

java求1000以內的完數

發布時間: 2022-06-23 05:33:10

java編程求1000以內完數

class test
{
public static void main(String args[])
{
intsum=0,i,j;
for(i=1;i<=1000;i++)
{for(j=1,sum=0;j<=i/2;j++)
{
if(i%j==0)
sum+=j;
}
if(sum==i)
System.out.println("完數:"+i);
}
}
}

㈡ 1000以內的完數

求1000以內的完數的C語言代碼如下:

完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。它所有的真因子(即除了自身以外的約數)的和(即因子函數),恰好等於它本身。

如果一個數恰好等於它的真因子之和,則稱該數為「完全數」。第一個完全數是6,第二個完全數是28,第三個完全數是496,33550336等等。截至2018年,相關研究者已經找到51個完全數。

完數,即完美數,一個數如果恰好等於除它本身外的因子之和,這個數就稱為完數。例如6=1+2+3.(6的因子是1,2,3)。


#include <stdio.h>

int main()

{

int n=1000;

int r,j,i;

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

r = 0;

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

if(i%j == 0){

r = r + j;

}

}

if(r == i){

printf("the result is:%d ",r);

}

}

return 0;

}

輸出結果為: 6,28,496,

即1000以內的完數只有6、28、496三個數字。

㈢ Java,1000之內所有完數

sum不清0的話,那你的第二個
完全數
就是在第1個完全數的基礎上加的值

㈣ 用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以內的所有完數

#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 初始化的位置是錯誤的,導致結果不正確,正確代碼請看我的回答。

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

完數,一般指完全數,一個自然數如果它的所有真因子(即除了自身以外的約數)的和等於該數,那麼這個數就是完全數,如: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以內的完數且輸出因子

public class test{
private static boolean isZhiShu(int num){
int count = 0;
for (int i = 1; i < num; i++) {
if(num%i==0){
count++;
}
}
if (count==0) {
return true;
}else {
return false;
}
}
private static boolean calc(int num){
int sum = 0;
if (isZhiShu(num)==false) {
for (int i = 1; i < num; i++) {
if (num%i==0) {
sum+=i;
}
}
}
if (sum==num) {
return true;
}else {
return false;
}
}
public static void showYinShu(int num){
if (calc(num)==true) {
System.out.print(num+"=");
for (int i = 1; i < num; i++) {
if(num%i==0){
if(num/2!=i){
System.out.print(i+"+");
}else{
System.out.print(i);
}
}
}
System.out.println("");
}
}
public static void main(String[] args) {
System.out.println("1000以內完數有:");
for (int i = 1; i <= 1000; i++) {
showYinShu(i);
}
}
}

熱點內容
編程老爺爺 發布:2025-02-05 16:48:20 瀏覽:126
支持ftp的免費空間 發布:2025-02-05 16:32:00 瀏覽:888
python時間比較 發布:2025-02-05 16:31:46 瀏覽:49
手機銀行的密碼怎麼改密碼忘了怎麼辦啊 發布:2025-02-05 16:02:02 瀏覽:179
演算法牛人左 發布:2025-02-05 15:31:02 瀏覽:439
php篩選功能 發布:2025-02-05 15:29:09 瀏覽:168
ip匹配伺服器 發布:2025-02-05 15:10:35 瀏覽:909
php語法後 發布:2025-02-05 15:10:34 瀏覽:59
oppor9s怎麼壓縮文件 發布:2025-02-05 15:00:34 瀏覽:639
蘋果耳塞怎麼改安卓也能用 發布:2025-02-05 14:50:54 瀏覽:558