CodeUp 기초 100제 중 1089번부터 1092번까지는 수열(Sequence)의 규칙성을 구현하고, 반복문을 활용해 최소공배수(LCM)와 같은 수학적 문제를 해결하는 구간입니다.
이 단계에서는 단순히 반복하는 것을 넘어, 숫자가 변하는 규칙(등차, 등비)을 코드로 옮기고, 숫자가 급격히 커질 때 자료형(long long)을 선택하는 감각을 익혀야 합니다.
시작 값(a), 등차(d), 몇 번째인지(n)가 주어질 때, n번째 수를 구하는 문제입니다. (예: 1, 4, 7, 10... 처럼 3씩 커지는 수열)
소스 코드
#include <stdio.h>
int main() {
int a, d, n;
int result;
scanf("%d %d %d", &a, &d, &n);
// 공식 활용: 시작값 + (등차 * (n-1번))
result = a + d * (n - 1);
printf("%d", result);
return 0;
}
예시 입력 / 출력
[입력]
1 3 5
[출력]
13
문제 해설 두 가지 방법으로 풀 수 있습니다.
시작 값(a), 등비(r), 몇 번째인지(n)가 주어질 때, n번째 수를 구하는 문제입니다. (예: 2, 4, 8, 16... 처럼 2배씩 커지는 수열)
소스 코드
#include <stdio.h>
int main() {
long long a, r, n; // 등비수열은 값이 기하급수적으로 커지므로 long long 필수
int i;
scanf("%lld %lld %lld", &a, &r, &n);
for(i = 1; i < n; i++) { // n-1번 반복
a = a * r; // 계속해서 r을 곱해나감
}
printf("%lld", a);
return 0;
}
예시 입력 / 출력
[입력]
2 3 7
[출력]
1458
문제 해설 이 문제의 핵심은 자료형의 선택입니다.
이전 수에 m을 곱하고 d를 더하는 규칙을 가진 수열의 n번째 수를 구하는 문제입니다. (예: 값 = 값 * m + d)
소스 코드
#include <stdio.h>
int main() {
long long a, m, d, n; // 계산 결과가 커질 수 있으므로 long long 사용
int i;
scanf("%lld %lld %lld %lld", &a, &m, &d, &n);
for(i = 1; i < n; i++) {
a = a * m + d; // 문제에서 제시한 공식 그대로 적용
}
printf("%lld", a);
return 0;
}
예시 입력 / 출력
[입력]
1 -2 1 8
[출력]
-85
문제 해설 1090번의 심화 버전입니다. 곱하기와 더하기가 섞여 있어 수학 공식으로 한 번에 풀기는 까다롭습니다.
세 명의 학생이 각각 3일마다, 7일마다, 9일마다 방문한다고 할 때, 세 명이 동시에 방문하는 날은 며칠 뒤인지 구하는 문제입니다. (최소공배수 문제)
소스 코드
#include <stdio.h>
int main() {
int a, b, c;
int day = 1; // 1일차부터 시작해서 하루씩 증가시킬 예정
scanf("%d %d %d", &a, &b, &c);
// 세 명 모두의 주기로 나누어 떨어질 때까지 반복 (하나라도 안 나누어 떨어지면 계속)
while(day % a != 0 || day % b != 0 || day % c != 0) {
day++; // 날짜를 하루 증가
}
printf("%d", day);
return 0;
}
예시 입력 / 출력
[입력]
3 7 9
[출력]
63
문제 해설 수학적으로는 최소공배수(LCM)를 구하는 문제입니다. 하지만 코딩에서는 브루트 포스(Brute Force, 무식하게 다 해보기) 방식으로 아주 쉽게 풀 수 있습니다.
| [CodeUp] C언어 기초 100제 풀이 (1097번 ~ 1099번) (0) | 2026.02.05 |
|---|---|
| [CodeUp] C언어 기초 100제 풀이 (1093번 ~ 1096번) (0) | 2026.02.04 |
| [CodeUp] C언어 기초 100제 풀이 (1085번 ~ 1088번) (0) | 2026.02.04 |
| [CodeUp] C언어 기초 100제 풀이 (1081번 ~ 1084번) (0) | 2026.02.03 |
| [CodeUp] C언어 기초 100제 풀이 (1076번 ~ 1080번) (0) | 2026.02.03 |