문제
N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다.
입력
첫째 줄에 2,000,000 이하의 자연수 N이 주어진다.
출력
첫 줄에 구하고자 하는 수를 출력한다.
예제 입력 1 복사
3
예제 출력 1 복사
12
예제 입력 2 복사
2000000
예제 출력 2 복사
3999999999999000000
# 백준/브론즈1/나머지와 몫이 같은 수
n = int(input())
i = 1
sum = 0
while i < n:
sum += (n*i) + i
i += 1
print(sum)
나머지와 몫이 같은 수는 규칙이 있음
만약 3이면 3x1 + 1, 3x2 + 2 가 나머지와 몫이 같은 수임
근데 i가 n을 넘어가면 더이상 없음
3x3 + 3 = 12 , 3x4 + 4 = 16 처럼 나머지는 0,1,2 만 존재하게 됌
reference
'알고리즘 > 백준' 카테고리의 다른 글
백준 23899 - 알고리즘 수업 - 선택 정렬 5 (0) | 2024.05.17 |
---|---|
백준 1274 - 부호 (0) | 2024.05.16 |
백준 1236 - 성 지키기 (0) | 2024.05.14 |
백준 6131 - 완전 제곱수 (0) | 2024.05.14 |
백준 1371 - 가장 많은 글자 (0) | 2024.05.12 |