Post

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.