[ java ] 완전수 구하는 메쏘드
페이지 정보
작성자 웹지기 댓글 0건 조회 2,870회 작성일 20-12-17 14:29본문
public class Exam05_startValue_Endvalue {
public static void main(String[] args) {
System.out.println("----getSumOfDivisor-------");
int num=10;
int result = getSumOfDivisor(num);
System.out.println(num+"의 약수의 합 : "+result);
System.out.println();
System.out.println("----getDivisors-------");
int startValue = 10;
int endValue=36;
//getDivisors(startValue, endValue);
System.out.println();
System.out.println("----getPerfectNumber-------");
int start = 2;
int end=1000;
System.out.print(start+" ~ "+end+" 까지 완전 수 : ");
getPerfectNumber(start, end);
System.out.println();
}
public static void getDivisors(int startValue, int endValue) {
//약수를 구하기
for(int j=startValue; j<=endValue; j++) {
getDivisor(j);
}
}
public static void getDivisor(int num) {
//약수를 구하기
System.out.print(num+"약수 : ");
for(int i=1; i<num; i++) {
if(num%i==0)
System.out.print(i+"\t");
}
System.out.println();
}
//한개의 정수를 매개변수로 받아 약수의 합을 구해서 반환해주는 getSumOfDivisor 메소드
public static int getSumOfDivisor(int num) {
//약수의 합 구하기
int sum = 0;
for(int i=1; i<num; i++) {
if(num%i==0)
sum+=i;
}
return sum;
}
public static void getPerfectNumber(int start, int end) {
int sum = 0;
for(int i=start; i<end; i++) {
int a = getSumOfDivisor(i);
if(i==a) {
System.out.print(i+"\t");
}
}
}
}
----getPerfectNumber-------
2 ~ 1000 까지 완전 수 : 628496
댓글목록
등록된 댓글이 없습니다.