1290: [기초-종합] 수 나열하기3(py)
[만든사람 : 전현석, 최문성(확인), 이준용(확인), 김지혜(그림) (2020)]
문제 설명
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
어떤 규칙에 따라 순서대로 수를 나열한 것을 수열(sequence)이라고 한다.
예를 들어
1, -1, 3, -5, 11, -21, 43, ... 은
1부터 시작해서 이전 수에 -2를 곱한 다음에 1을 더 더해서 다음 수를 만든 수열이다.
이런 이상한 수열을 알게 된 영일이는 또 궁금해졌다.
"그렇다면? .... 13번째 수는 뭘까?"
영일이는 물론 수학을 아주 잘하지만 이런 문제는 거의 본 적이 없었다.
그래서 프로그램을 만들어 더 큰 수열도 자동으로 계산하고 싶어졌다.
수열의 시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때,
n번째 수를 출력해 보자.
참고
** 컴퓨터에서 랜덤으로 난수를 만들어 내는 방법으로 선형합동생성(linear congruential generator) 방법이라는 것이 있다.
이전에 만들어진 난수에 어떤 값을 곱하고, 어떤 값을 더 한 후, 다시 어떤 값으로 나눈 나머지 값을 다음 난수로 사용하는 방법을 사용한다.
여러 가지 세트의 값들을 사용할 수 있지만... n번째 수를 Xn이라고 할 때, Xn+1 = (7*7*7*7*7*Xn+0) % 2147483647과 같은 생성식으로
수열의 시작값을 1, 곱할 값을 7*7*7*7*7, 더할 값은 0, 그렇게 얻어낸 값을 2147483647로 나누어 나머지를 다시 다음 수로 뽑아내보면,
만들어지는 수들이 규칙성이 없는 것처럼 만들어지게 된다는 것을 알 수 있다. 시작 값을 1이 아닌 다른 수로 바꾸어도 규칙성이 없는 것처럼 보인다.
------
어떤 규칙에 따라 순서대로 수를 나열한 것을 수열(sequence)이라고 한다.
예를 들어
1, -1, 3, -5, 11, -21, 43, ... 은
1부터 시작해서 이전 수에 -2를 곱한 다음에 1을 더 더해서 다음 수를 만든 수열이다.
이런 이상한 수열을 알게 된 영일이는 또 궁금해졌다.
"그렇다면? .... 13번째 수는 뭘까?"
영일이는 물론 수학을 아주 잘하지만 이런 문제는 거의 본 적이 없었다.
그래서 프로그램을 만들어 더 큰 수열도 자동으로 계산하고 싶어졌다.
수열의 시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때,
n번째 수를 출력해 보자.
** 컴퓨터에서 랜덤으로 난수를 만들어 내는 방법으로 선형합동생성(linear congruential generator) 방법이라는 것이 있다.
이전에 만들어진 난수에 어떤 값을 곱하고, 어떤 값을 더 한 후, 다시 어떤 값으로 나눈 나머지 값을 다음 난수로 사용하는 방법을 사용한다.
여러 가지 세트의 값들을 사용할 수 있지만... n번째 수를 Xn이라고 할 때, Xn+1 = (7*7*7*7*7*Xn+0) % 2147483647과 같은 생성식으로
수열의 시작값을 1, 곱할 값을 7*7*7*7*7, 더할 값은 0, 그렇게 얻어낸 값을 2147483647로 나누어 나머지를 다시 다음 수로 뽑아내보면,
만들어지는 수들이 규칙성이 없는 것처럼 만들어지게 된다는 것을 알 수 있다. 시작 값을 1이 아닌 다른 수로 바꾸어도 규칙성이 없는 것처럼 보인다.
입력 설명
수열의 시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가
스페이스로 분리되어 입력된다.
(-50<=a,m,d<=50, 0<=n<=10)
스페이스로 분리되어 입력된다.
(-50<=a,m,d<=50, 0<=n<=10)
출력 설명
수열의 n번째 수를 출력한다.
입력 예시 Copy
1 -2 1 8
출력 예시 Copy
-85
도움
기초100제(py) v0.85 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.