Java實(shí)現(xiàn)特定范圍的完數(shù)輸出算法示例
本文實(shí)例講述了Java實(shí)現(xiàn)特定范圍的完數(shù)輸出算法。分享給大家供大家參考,具體如下:
題目內(nèi)容:
一個正整數(shù)的因子是所有可以整除它的正整數(shù)。而一個數(shù)如果恰好等于除它本身外的因子之和,這個數(shù)就稱為完數(shù)。
例如6=1+2+3(6的因子是1,2,3)。
現(xiàn)在,你要寫一個程序,讀入兩個正整數(shù)n和m(1<=n<m<1000),輸出[n,m]范圍內(nèi)所有的完數(shù)。
提示:可以寫一個函數(shù)來判斷某個數(shù)是否是完數(shù)。
輸入格式:
兩個正整數(shù),以空格分隔。
輸出格式:
其間所有的完數(shù),以空格分隔,最后一個數(shù)字后面沒有空格。如果沒有,則輸出一個空行。
輸入樣例:
1 10
輸出樣例:
6
代碼示例:
import java.util.Scanner;
public class Main {
//判斷是否是完數(shù)
public static boolean isFinishedNum(int n)
{
//排除干擾1、2
if((n==1)||(n==2))
return false;
boolean isFinishedNum = false;
int sum=1;
for(int i =2;i<n;i++)
{
if(n%i==0)
sum+=i;
}
//如果相等就是完數(shù)
if(sum==n)
isFinishedNum = true;
return isFinishedNum;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("腳本之家 - 特定范圍內(nèi)的完數(shù)輸出測試:");
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
String out = " ";
for(int i =n;i<=m;i++)
{
if(isFinishedNum(i))
out = out+i+" ";
}
//去除out左右兩邊的空格
out=out.trim();
System.out.println(out);
in.close();
}
}
運(yùn)行結(jié)果:



更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Idea創(chuàng)建springboot不能選擇java8的解決
在IDEA 2023版本創(chuàng)建Spring Boot項(xiàng)目時,發(fā)現(xiàn)沒有Java 8選項(xiàng),只有Java 17和Java 20,解決方法包括:通過修改服務(wù)器URL(推薦)或直接在創(chuàng)建后修改pom.xml文件中的Spring Boot和Java版本2025-01-01
Java concurrency之AtomicReference原子類_動力節(jié)點(diǎn)Java學(xué)院整理
AtomicReference是作用是對"對象"進(jìn)行原子操作。這篇文章主要介紹了Java concurrency之AtomicReference原子類,需要的朋友可以參考下2017-06-06
Java classloader和namespace詳細(xì)介紹
這篇文章主要介紹了Java classloader和namespace詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-03-03
MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解
這篇文章主要介紹了MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
SpringBoot+SpringSecurity實(shí)現(xiàn)基于真實(shí)數(shù)據(jù)的授權(quán)認(rèn)證
Spring Security是一個功能強(qiáng)大且高度可定制的身份驗(yàn)證和訪問控制框架,Spring Security主要做兩個事情,認(rèn)證、授權(quán)。這篇文章主要介紹了SpringBoot+SpringSecurity實(shí)現(xiàn)基于真實(shí)數(shù)據(jù)的授權(quán)認(rèn)證,需要的朋友可以參考下2021-05-05
springboot 使用logback啟動報(bào)警報(bào)錯的解決
這篇文章主要介紹了springboot 使用logback啟動報(bào)警報(bào)錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

