For
For
문제 1: 구구단
2단부터 9단까지 구구단을 출력하세요.
예상 출력:
1
2
3
4
2 × 1 = 2
2 × 2 = 4
...
9 × 9 = 81
문제 2: 별 찍기 패턴 1
다음 패턴을 출력하세요.
예상 출력:
1
2
3
4
5
*
**
***
****
*****
문제 3: 별 찍기 패턴 2
다음 패턴을 출력하세요.
예상 출력:
1
2
3
4
5
*****
****
***
**
*
문제 4: 별 찍기 패턴 3
다음 패턴을 출력하세요.
예상 출력:
1
2
3
4
5
*
***
*****
*******
*********
힌트: 공백과 별의 개수를 계산
문제 5: 약수 구하기
주어진 숫자의 모든 약수를 출력하세요.
입력:
1
int num = 24;
예상 출력:
1
24의 약수: 1 2 3 4 6 8 12 24
문제 6: 소수 판별
주어진 숫자가 소수인지 판별하세요.
소수: 1과 자기 자신으로만 나누어떨어지는 수
입력:
1
int num = 17;
예상 출력:
1
17은 소수입니다.
힌트: 2부터 num-1까지 나누어떨어지는 수가 있는지 확인
문제 7: 소수 판별 최적화
문제 6을 최적화하세요. 2부터 √num까지만 확인하면 됩니다.
설명: num이 소수가 아니라면, num = a × b로 표현 가능합니다. 이때 a와 b 중 하나는 반드시 √num 이하입니다.
문제 8: 최대공약수 (GCD)
두 수의 최대공약수를 구하세요. 유클리드 호제법을 사용하세요.
유클리드 호제법:
1
2
gcd(a, b) = gcd(b, a % b)
a % b == 0이면 b가 최대공약수
입력:
1
int a = 48, b = 18;
예상 출력:
1
최대공약수: 6
문제 9: 최소공배수 (LCM)
두 수의 최소공배수를 구하세요.
공식: LCM(a, b) = (a × b) / GCD(a, b)
입력:
1
int a = 12, b = 18;
예상 출력:
1
최소공배수: 36
문제 10: 피보나치 수열
n번째 피보나치 수를 구하세요.
피보나치 수열: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …
입력:
1
int n = 10;
예상 출력:
1
10번째 피보나치 수: 34
문제 11: 팩토리얼
n!을 계산하세요.
입력:
1
int n = 5;
예상 출력:
1
5! = 120
문제 12: 역순 숫자 출력
정수를 역순으로 출력하세요.
입력:
1
int num = 12345;
예상 출력:
1
54321
힌트: num % 10으로 마지막 자리 추출, num / 10으로 마지막 자리 제거
문제 13: 숫자 자릿수 합
정수의 각 자릿수를 더하세요.
입력:
1
int num = 12345;
예상 출력:
1
자릿수 합: 15
문제 14: 구구단 특정 단 건너뛰기
2단부터 9단까지 구구단을 출력하되, 5단은 건너뛰세요. continue를 사용하세요.
예상 출력:
1
2
3
4
5
6
7
2단 출력
3단 출력
4단 출력
6단 출력
7단 출력
8단 출력
9단 출력
This post is licensed under CC BY 4.0 by the author.