본문 바로가기
자투리 정보/아 일할때 코테 안쓴다고 ㅋㅋㅋ

[코테]문제1 - 나머지와 몫이 같은 값들의 합

by Mr.noobiest 2023. 10. 7.

백준 시험문제 1834번

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

 

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

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

www.acmicpc.net

 

입력 값 N을 입력하였다.

어떤 특정값을 N으로 나누었을때 몫과 나머지가 같은 자연수들의 총합을 구하는 코드 작성

 


-풀이-

일단 특정값을 x라고 하자.

x를 N으로 나누었을때 나머지를 a, 몫을 b라고 할때 식은 다음과 같다.

x= N*a + b

 

우리는 N을 알고 a==b인 것도 안다.

따라서 x=N*a+a 이다.

 

몫은 나눠지는 값 x에 따라서 무한히 증가하지만 나머지는 무조건 0,1,2  //총 3개(N-1)까지만 나올것이다.

 

N을 3이라고 가정한다면 나머지로 가능한 것들은 0,1,2일것이다

가능1) x=3*0+0 ->x 는 N값에 상관없이 무조건 0이 나온다.

가능2) x=3*1+1 ->x는 4가 나온다.

가능3) x=3*2+2 ->x는 8이 나온다.


결론은 이것이다.

1) 나머지는 무조건 N-1까지만 나올수 있다(ex N=3일경우 나머지는 무조건 0,1,2이 끝이다.)

2) x=N*a+a 이고 우리는 a에 0,1,2,3,,,,,N-1까지만 넣을 수 있다.

 

위 조건을 만족하는 python 공식은 아래와 같다.


N=int(input())

def divide_same_total(N):
    all_sum=0
    for a in range(N):
        all_sum+=(N*a + a)
	return all_sum
    
print(all_sum)

간단한 문제였다.

 

끝.

 

 

 

728x90
반응형