본문 바로가기

알고리즘/백준

백준 1834 - 나머지와 몫이 같은 수

문제

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

https://www.acmicpc.net/problem/1834

'알고리즘 > 백준' 카테고리의 다른 글

백준 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