完數java,c語言輸出1000以內的完數

本文目錄一覽:

java編程。完數,指的是所有的因子之和與其本身相等的數.現要求實現完整的程序

import java.util.Scanner;

/**

 * 2016/12/28 12:49

 *

 * @author 3306 TODO 完全數

 */

public class TestFullNumbers {

    public static void main(String[] args) {

        String[] numbers = getTwoNumbers();

        int m = Integer.parseInt(numbers[0]);

        int n = Integer.parseInt(numbers[1]);

        for (int index = m; index  n; index++) {

            if (index == factorSum(index)) {

                System.out.println(index);

            }

        }

    }

    /**

     * 計算因子之和

     *

     * @param num 數字

     * @return int

     */

    private static int factorSum(int num) {

        int sum = 0;

        for (int index = 1; index  num; index++) {

            if (num % index == 0) {

                sum += index;

            }

        }

        return sum;

    }

    /**

     * 獲取輸入的兩個數字, 數字之間使用空格隔開

     *

     * @return String[]

     */

    private static String[] getTwoNumbers() {

        Scanner input = new Scanner(System.in);

        return input.nextLine().split(“\\s+”);

    }

}

JAVA編程 完全數

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+”是完數,其因子為”);

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

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

}

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

} else {

System.out.println(t+”不是完數”);

}

}

}

java語言判斷一個整數是否為完數

import java.util.Scanner;

public class Test1 {

public static void main(String args[]) {

Scanner scanner = new Scanner(System.in);

if(isFullNum(scanner.nextInt())) {

System.out.println(“是完數”);

}

else {

System.out.println(“不是完數”);

}

}

//判斷一個數字是不是完數,是的話返回true

public static boolean isFullNum(int num) {

int sum = 0;

for(int i = 1;i = num/2;i++) {

if(num%i == 0)

sum+=i;

}

return sum == num;

}

}

java完數

public class PerfectNum

{

public static void main ( String[] args )

{

for ( int i = 2; i  1000; i++ )

{

if (perfectNum (1, i) == i)

{

System.out.print (i + ” “);

}

}

}

private static long perfectNum ( long start, long num )

{

if (start  num / 2)

{

return 1;

}

start++;

if (num % start == 0)

{

return start + perfectNum (start, num);

}

else

{

return perfectNum (start, num);

}

}

}

java編程 求完全數

直接把我的答案複製測試,一定通過。。

注意:類名

public class QiouWanQuanShu {

public static void main(String[] args) {

int sum=0; //用來存放因數的和

System.out.print(“1000中de完全數有:”);

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

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

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

sum=sum+j;

}

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

System.out.print(i+” “);

sum=0; //初始存放因數的和,下次循環繼續用

}

}

}

java中如何判斷一個數是否完全數!!

java中如何判斷一個數是否完全數,可以分為求約數(不包括本身)、求約數之和以及比較自身和約數之和是否相等三個步驟。

第一步:求約數

public static Listint yueShu(int n){

Listint list = new ArrayListint();

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

if(n%i==0){

list.add(i);

}

}

return list;

}

解析:如果該數除以循環中的變量的餘數為零,那麼該變量就是該數的約數。其中有個注意點,如果循環變量大於該數的一半之後就不會是該數的餘數了(該數本身除外),所以循環到該數一半時便結束。

第二步:求約數之和

public static int sum(Listint list){

int total=0;

Iterator it=list.iterator();

while(it.hasNext()){

total+=it.next();

}

return total;

}

解析:利用while遍歷List,將List中的值全部加起來。

第三步:比較本身與約數之和是否相等

public static boolean isPerfect(int n){

return n==sum(yueShu(n));

}

如果該數與該數的約數之和相等,則該方法返回true,否則返回false。最後根據該方法的返回值判斷該數是不是完全數。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/272100.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-17 00:08
下一篇 2024-12-17 00:08

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29

發表回復

登錄後才能評論