[python] 백준 1834번 나머지와 몫이 같은 수알고리즘2021. 8. 30. 21:20
Table of Contents
문제 요약 및 풀이
어떤 자연수(K)를 N으로 나누었을 때 나머지와 몫이 같은 자연수의 합을 구해라.
K % 3이라면 몫이 1이고 -- 나머지가 1인 4와, 몫이 2이고 -- 나머지가 2인 8이 나올 것이다. 두 자연수의 합은 12가 된다. 잘 이해가 안 되면 아래의 표로 설명하겠다.
K % N | 몫 | 나머지 | K | K의 배수 |
K % 2 | 1 | 1 | 3 | 3 |
K % 3 | 1 | 1 | 4 | 4 |
2 | 2 | 8 | ||
K % 4 | 1 | 1 | 5 | 5 |
2 | 2 | 10 | ||
3 | 3 | 15 | ||
K % 5 | 1 | 1 | 6 | 6 |
2 | 2 | 12 | ||
3 | 3 | 18 | ||
4 | 4 | 24 | ||
K % 6 | 1 | 1 | 7 | 7 |
2 | 2 | 14 | ||
3 | 3 | 21 | ||
4 | 4 | 28 | ||
5 | 5 | 35 |
위의 표처럼 나타내면 규칙이 보인다.
몫과 나머지는 1부터 N-1까지이고 K를 N으로 나누었을 때 K는 N+1의 배수인걸 알 수 있다.
N이 3일때, K는 4(N+1)의 배수가 되고 반복문으로 N-1번 돌려주면 합을 구할 수 있기 때문에 아래의 코드와 같이 짜면 된다.
result = []
N = int(input())
for i in range(1, N):
result.append((N+1)*i)
print(sum(result))
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊