Java黑皮书课后题第5章:**5.33(完全数)如果一个正整数等于除它它本身外其他所有除数之和。就称之为完全数。如6是第一个完全数,因为6=1+2+3。10000以下的完全数有4个,编写程序找出
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第5章:**5.33(完全数)如果一个正整数等于除它它本身外其他所有除数之和。就称之为完全数。如6是第一个完全数,因为6=1+2+3。10000以下的完全数有4个,编写程序找出
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
5.33(完全數(shù))如果一個(gè)正整數(shù)等于除它它本身外其他所有除數(shù)之和。就稱之為完全數(shù)。如6是第一個(gè)完全數(shù),因?yàn)?=1+2+3。10000以下的完全數(shù)有4個(gè),編寫(xiě)程序找出
- 題目
- 題目概述
- 破題
- 代碼
- 運(yùn)行結(jié)果
題目
題目概述
5.33(完全數(shù))如果一個(gè)正整數(shù)等于除它它本身外其他所有除數(shù)之和。就稱之為完全數(shù)。如6是第一個(gè)完全數(shù),因?yàn)?=1+2+3。10000以下的完全數(shù)有4個(gè),編寫(xiě)程序找出這4個(gè)完全數(shù)
破題
從外向內(nèi)循環(huán)選擇語(yǔ)句:
遍歷6到10000(不含)(假設(shè)為i)
找出i的所有除數(shù)(不含i本身)+驗(yàn)證所有除數(shù)之和是否等于i本身
代碼
public class Test5_33 {public static void main(String[] args) {int temp = 0;for (int i = 6; i <= 10000; i++){temp = 0;// 找出i的所有除數(shù)(n)for (int n = 1; n < i;n++){// 判斷n是否為i的除數(shù)if (i % n == 0){temp += n;}}// 判斷除數(shù)之和是否為iif (temp == i)System.out.println(i+"為完全數(shù)");}} }運(yùn)行結(jié)果
6為完全數(shù) 28為完全數(shù) 496為完全數(shù) 8128為完全數(shù)Process finished with exit code 0總結(jié)
以上是生活随笔為你收集整理的Java黑皮书课后题第5章:**5.33(完全数)如果一个正整数等于除它它本身外其他所有除数之和。就称之为完全数。如6是第一个完全数,因为6=1+2+3。10000以下的完全数有4个,编写程序找出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java黑皮书课后题第5章:**5.32
- 下一篇: Java黑皮书课后题第5章:**5.34