반응형
문제
N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다.
입력
첫째 줄에 2,000,000 이하의 자연수 N이 주어진다.
출력
첫 줄에 구하고자 하는 수를 출력한다.
예제 입력 13
|
예제 출력 112
|
예제 입력 22000000
|
예제 출력 23999999999999000000
|
풀이
n으로 나누었을 때의 나머지는 n미만의 수로만 구성될 수 있다.
몫은 제한이 없지만 나머지와 같아야 하므로 마찬가지로 n미만의 수로만 구성될 것이다.
따라서 n*1+1 + n*2+2 + n*3+3 + ··· + n(n-1)+(n-1) 을 출력하면 된다.
n = int(input())
print(sum(n*i+i for i in range(1,n)))
반응형
'알고리즘 연습 > 수학, 정수론, 기하' 카테고리의 다른 글
[🥈4 / 백준 2089 / 파이썬] -2진수 (0) | 2022.04.28 |
---|---|
[🥈1 / 백준 1747 / 파이썬] 소수&팰린드롬 (0) | 2022.04.20 |
[🥈3 / 백준 2407 / 파이썬] 조합 (0) | 2022.03.31 |
[🥉5 / 백준 14652 / 파이썬] 나는 행복합니다~ (0) | 2022.03.23 |
[🥉3 / 백준 2355 / 파이썬] 시그마 (0) | 2022.03.22 |