Java實現(xiàn)特定范圍的完數(shù)輸出算法示例
本文實例講述了Java實現(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();
}
}
運行結果:



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

