89번, 90번 모두 다른 숫자를 넣었을 때는 되는데 마지막 10 10 10을 넣으면 답이 이상하게 나와요ㅠㅠㅠ
89번
#include<stdio.h>
int main()
{
int a;
int r;
int n;
scanf("%d %d %d", &a, &r, &n);
for (int i=0; i<n-1; ++i)
{
a = a*r;
}
printf("%d", a);
return 0;
}
90번
#include<stdio.h>
int main()
{
int a;
int m;
int d;
int n;
scanf("%d %d %d %d", &a, &m, &d, &n);
for(int i=0; i<n-1; ++i)
{
a = a*m+d;
}
printf("%d", a);
return 0;
}
댓글 2
-
InformaticsTeacher
2025.08.16 18:06
-
InformaticsTeacher
2025.08.16 18:13
int보다 더 큰 자료형인 long long int를 활용할 수. 있습니다. 이 때는 %d 대신 모두 %lld 로 수정하면 됩니다.
가능함녀 C도 좋지만 C++로 cin, cout도 학습해보기를 추천합니다.
| 번호 | 제목 | 아이디 | 날짜 | 조회 수 | |
|---|---|---|---|---|---|
| 62 |
매원고 공동교육과정 빅데이터 분석 강의자료 01
[2] | admin | 2026.03.09 | 20 | |
| 61 | [1567] 시간 제한을 수정해 주세요. | gs25001 | 2026.03.08 | 9 | |
| 60 | [2657] 입력 형식 오류 수정해주세요. | gs24123 | 2026.03.07 | 6 | |
| 59 | [100]오타 수정 부탁드립니다 | gs26123 | 2026.03.03 | 12 | |
| 58 | [1075] 데이터를 추가해 주세요. | gs25001 | 2026.03.02 | 7 | |
| 57 | [485] 예제 입출력이 잘못되었습니다. | gs25001 | 2026.03.02 | 6 | |
| 56 |
[143] HTTP 404
| gimminjun163 | 2026.02.13 | 0 | |
| 55 |
10문제 풀었는데 순위에 5 문제 라고 나와요.
| piggy | 2026.02.09 | 26 | |
| 54 | [3377] 오타를 수정해 주세요. [1] | gs25114 | 2026.01.24 | 28 | |
| 53 | 레이팅은 어디서 확인해요??? [1] | gimminjun163 | 2026.01.24 | 40 | |
| 52 | [99] [2] | gst26030 | 2026.01.06 | 117 | |
| 51 | [#0095] 바둑판에 흰 돌 놓기(설명) 오타 | lucaskimjs | 2025.12.31 | 54 | |
| 50 |
id/pw 찾기 이메일이 안 와요
| 2025.12.30 | 1 | ||
| 49 | 2025 신입생 정보 대회 관련 | 2025.12.28 | 57 | ||
| 48 | [762] 먼저 입력된 해가 나중에 입력된 해보다 늦은 해일 수 있습니다. | gs25001 | 2025.12.22 | 80 | |
| 47 | [1894] 파이썬의 모듈 사용을 제한해 주세요. [1] | gs25001 | 2025.12.21 | 104 | |
| 46 | [167] 오타 수정 부탁드립니다 | gs26123 | 2025.12.18 | 78 | |
| 45 | [8] | jychoe | 2025.12.09 | 97 | |
| 44 | [17] | jychoe | 2025.12.09 | 105 | |
| 43 |
이메일 변경 인증 메일이 안와요.
| gs26077 | 2025.12.08 | 3 |
문제의 원인은
int자료형 범위 초과(overflow) 때문입니다.C 언어에서
int는 보통 32비트 정수로, 표현 가능한 범위는 약-2,147,483,648 ~ 2,147,483,647 입니다.
제시한 입력
10 10 10의 경우를 계산해 보면:a = 10 (시작값) r = 10 (등비) n = 10 (몇 번째 수) 계산: 10 × 10^(10-1) = 10 × 10^9 = 10^10 = 10,000,000,000그런데 10,000,000,000 > 2,147,483,647 이므로,
int에 저장할 수 없고, 값이 범위를 넘어가면서 잘못된(음수거나 엉뚱한) 값이 나옵니다.