임의의 수를 입력받아 그 수의 약수를 구하는 프로그램을 만들겠습니다.
사실 저는 약수가 뭔지 잊어버려서 검색을 했다는 슬픈 이야기가 있는데요.
이정도면 초등수학부터 다시 시작해야 하는게 아닐까.
혹시 저처럼 약수를 잊은 분들을 위해 :
약수란 어떤 수를 나누어 떨어지게 하는 수를 그 수의 약수라고 합니다.
두 정수 a, b에 대하여 b=ac를 만족하는 정수c가 존재한다면, a를 b의 약수라고 합니다.
이번 코드에서는 나누었을 때 0이 되는 숫자=약수 로 계산했습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import java.util.*; public class TestFor02 { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("임의의 수를 입력하세요: "); int su = in.nextInt(); System.out.print( su + "의 약수 : "); for(int i=1; i<=su; ++i) { if(su%i == 0) { System.out.print(i + ", "); } } } } | cs |
키보드로 숫자를 입력받기 때문에 Scanner 클래스를 사용합니다.
입력값은 su 변수에 받았습니다.
for(int i=1; i<=su; ++i)
1부터 시작해서 su(입력받은 수)까지 1씩 커지도록 for문을 돌리는데,
if(su%i == 0)
su를 나누었을 때 0이 되는 i들을
System.out.print(i + ", "); 로 모두 출력합니다.
출력이 잘 되었네요.
만약 약수의 개수까지 구하고자 한다면?
1 2 3 4 5 6 7 8 9 10 11 12 13 | int su = in.nextInt(); int co = 0; System.out.print( su + "의 약수 : "); for(int i=1; i<=su; ++i) { if(su%i == 0) { ++co; System.out.print(i + ", "); } } System.out.print("약수의 개수: " + co); } } | cs |
개수를 카운트하는 co변수를 추가하고
if 조건에 맞는 약수가 생길 때마다 co가 하나씩 늘어나게 설정합니다.
System.out.print("약수의 개수: " + co);
로 출력합니다.
잘 출력되었습니다.
'Study > Java' 카테고리의 다른 글
자바 임의의 숫자 10개를 입력받아 입력한 숫자/합계/평균 출력 (0) | 2022.03.16 |
---|---|
자바 이름과 전화번호를 입력받아 출력하기 (0) | 2022.03.16 |
[while문] 자바 1~100까지의 합 구하기 (0) | 2022.03.16 |
[for문] 자바 임의의 수를 5번 입력 받아 합과 평균 구하기 (0) | 2022.03.15 |
Java변수 설정과 자료형 (0) | 2022.03.14 |