728x90
반응형
문제:
N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다.
입력:
첫째 줄에 2,000,000 이하의 자연수 N이 주어진다.
출력:
첫 줄에 구하고자 하는 수를 출력한다.
풀이방법:
몫과 나머지가 같다고 가정한 뒤에 역으로 그 자연수 값을 찾도록 하면 된다. 나머지가 나올 수 있는 경우의 수는 N일 때 0~N-1까지 있다. 따라서 몫과 나머지가 같은 수는 i*(N)+i, i는 0부터 N-1까지의 수로 구할 수 있다. 이는 반복문 하나만 사용하면 구할 수 있다.
1
2
3
4
5
|
n=int(input())
summation=0
for i in range(1,n):
summation+=(i*n+i)
print(summation)
|
cs |
문제링크:
https://www.acmicpc.net/problem/1834
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[BOJ]2851. 슈퍼 마리오 (0) | 2019.10.13 |
---|---|
[BOJ]17144. 미세먼지 안녕! (0) | 2019.10.12 |
[BOJ]1357. 뒤집힌 덧셈 (0) | 2019.10.08 |
[BOJ]1629. 곱셈 (0) | 2019.10.07 |
[BOJ]1789. 수들의 합 (0) | 2019.10.06 |