profile image

L o a d i n g . . .

문제 : 시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때, n번째 수를 출력하는 프로그램을 만들어보자.

( 본 문제에서 수열은 이전에 만든 수에 m을 곱한 다음 d를 더해 다음 수를 만든다.)

 

 

정답 : 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	long long int a;
	int m, d, n;

	scanf("%lld %d %d %d",&a,&m,&d,&n);

	for (int i=2; i<=n; i++)
		a = a * m + d;

	printf("%lld", a);

	return 0;

}

시작 값(a)에 m을 곱하고 d를 더한 값을 다시 a에 할당하는 식이다.

그리고 이미 a가 첫번째 수이기 때문에 반복문을 n-1번만 돌리면 된다.

a의 값을 계속 업데이트 시켜 a의 값이 더욱 커질 수 있기에 a의 자료형을 long long int 형으로 주었다.

복사했습니다!