[C언어 코드업 문제풀이] CodeUp 1091 : [기초-종합] 수 나열하기3
ET의 공부/C언어 연습문제[ 코드업 ]2020. 1. 14. 21:36
코드업 1091번 수 나열하기3 문제 풀이 해답입니다.
1. 문제 설명
어떤 규칙에 따라 수를 순서대로 나열한 것을 수열이라고 한다.
예를 들어
1 -1 3 -5 11 -21 43 ... 은
1부터 시작해 이전에 만든 수에 -2를 곱한 다음 1을 더해 다음 수를 만든 수열이다.
이런 이상한 수열을 알게 된 영일이는 또 궁금해졌다.
"그럼.... 13번째 나오는 수는 뭘까?"
영일이는 물론 수학을 아주 잘하지만 이런 문제는 본 적이 거의 없었다...
그래서 프로그램을 만들어 더 큰 수도 자동으로 계산하고 싶어졌다.
시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때,
n번째 수를 출력하는 프로그램을 만들어보자.
2. 입력
시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째 인지를 나타내는 정수(n)가
공백을 두고 입력된다.(a, m, d는 -50 ~ +50, n은 10이하의 자연수)
3. 출력
n번째 수를 출력한다.
4. 입력 예시
1 -2 1 8
5. 출력 예시
-85
6. 문제 풀이
#include<stdio.h>
int main(){
long long int a,m,d,n;
scanf("%lld %lld %lld %lld",&a,&m,&d,&n);
for(int j = 1; j <n; j++){
a *= m;
a += d;
}
printf("%lld",a);
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
a m d n 값이 최대로 입력될경우 int형의 표현 크기가 넘어가기에 long long int형을 사용해줍니다.
a = a*m + d이므로
a *= m;
a += d;
으로 작성해 주었습니다.
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1251 : 1 부터 100까지 출력하기 (0) | 2020.03.10 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1092 : [기초-종합] 함께 문제 푸는 날(설명) (0) | 2020.01.14 |
[C언어 코드업 문제풀이] CodeUp 1090 : [기초-종합] 수 나열하기2 (1) | 2020.01.14 |
[C언어 코드업 문제풀이] CodeUp 1089 : [기초-종합] 수 나열하기1 (0) | 2020.01.14 |
[C언어 코드업 문제풀이] CodeUp 1088 : [기초-종합] 3의 배수는 통과?(설명) (0) | 2020.01.14 |
댓글()