백준 시험문제 1834번
https://www.acmicpc.net/problem/1834
입력 값 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
반응형
'자투리 정보 > 아 일할때 코테 안쓴다고 ㅋㅋㅋ' 카테고리의 다른 글
[코테]도와줘요 ChatGPT -1 (0) | 2023.10.06 |
---|