관리 메뉴

솜씨좋은장씨

[BaekJoon] 1834번 : 나머지와 몫이 같은 수 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 1834번 : 나머지와 몫이 같은 수 (Python)

솜씨좋은장씨 2022. 2. 11. 19:38
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 나머지와 몫이 같은 수입니다.

 

1834번: 나머지와 몫이 같은 수

N으로 나누었을 때 나머지와 몫이 같은 모든 자연수의 합을 구하는 프로그램을 작성하시오. 예를 들어 N=3일 때, 나머지와 몫이 모두 같은 자연수는 4와 8 두 개가 있으므로, 그 합은 12이다.

www.acmicpc.net

👨🏻‍💻 문제 풀이

나머지와 몫이 같은 수 == 어떤 숫자로 나누었을 때 그 나머지와 몫이 같은 수입니다.

3의 경우에는 

3으로 나누었을 때 몫이 1 나머지가 1인 4

3으로 나누었을 때 몫이 2 나머지가 2인 8

이 있고

 

5의 경우에는

5로 나누었을 때 몫이 1 나머지가 1인 6

5로 나누었을 때 몫이 2 나머지가 2인 12

5로 나누었을 때 몫이 1 나머지가 1인 18

5로 나누었을 때 몫이 2 나머지가 2인 24

가 있습니다.

 

N의 경우에는 

N으로 나누었을 때 몫이 1 나머지가 1인 N + 1

N으로 나누었을 때 몫이 2 나머지가 2인 2 * N + 2

N으로 나누었을 때 몫이 3 나머지가 2인 3 * N + 3

N으로 나누었을 때 몫이 (N-1) 나머지가 (N-1)인 (N-1) * N + (N-1)

입니다.

 

따라서 나머지와 몫이 같은 수는 1 부터 N-1 까지 증가시키면서 나오는

N * i + i 를 계속 더하면 됩니다.

 

이를 코드로 구현하면 아래와 같습니다.

👨🏻‍💻 코드 ( Solution )

def a_number_equal_to_the_remainder(N):
    print([(N*i + i) for i in range(1, N)])
    return sum([(N*i + i) for i in range(1, N)])

if __name__ == "__main__":
    N = int(input())
    print(a_number_equal_to_the_remainder(N))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments