본문 바로가기

ACMICPC 1789 수들의 합 문제서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최대값은 얼마일까?입력첫째 줄에 자연수 S(1≤S≤4,294,967,295)가 주어진다.출력첫째 줄에 자연수 N의 최대값을 출력한다. 한 5초동안 뭐징.... 했는데 생각해보니 쉬운 문제. N개의 자연수의 합으로 S를 표현하고 싶은데 N이 최대값이 되어야한다. 그렇다면 뭐...1~N-1까지 더한 후 남은 값을 더해주는게 최대 N개의 자연수의 합으로 S를 나타내는 방법 아닐까. S = 1+2+3+....+N-1+a 그럼 이제 남은 것은 이때의 N 값을 구하기만 하면 된다. 1~N까지의 합 공식이 N(N+1)/2 이니, N(N+1) 더보기
ACMICPC 1004 어린왕자 문제어린 왕자는 소혹성 B-664에서 자신이 사랑하는 한 송이 장미를 위해 살아간다. 어느 날 장미는 어린 왕자에게 “나 지금 몹시 목이 말라. 하지만 별다방 카라멜 마키아또가 아니면 싫어. 샷이랑 휘핑크림 추가 꼭 해오고. 아참, 여기 제휴카드 줄 테니까 사이즈 업글도 잊지마~” 라는 한 마디를 던졌고, 어린 왕자는 이를 구하기 위해 은하수를 따라 긴 여행을 하기 시작했다. 하지만 어린 왕자의 우주선은 그렇게 좋지 않아서 행성계 간에 이동을 최대한 피해서 여행 해야 한다. 아래의 그림은 어린 왕자가 펼쳐본 은하수 지도의 일부이다. 점선은 어린 왕자가 출발점에서 도착점까지 도달하는데 있어서 필요한 행성계 진입/이탈 횟수를 최소화 하는 경로이며, 원은 행성계의 경계를 의미한다. 이러한 경로는 여러 개 존재.. 더보기
ACMICPC 2004 조합 https://www.acmicpc.net/problem/2004 문제nCm의 끝자리 0의 개수를 출력하는 프로그램을 작성하시오.입력첫째 줄에 정수 n, m(0≤m≤n≤2,000,000,000, n!=0)이 들어온다.출력첫째 줄에 0의 개수를 출력한다. 으으...입력 값의 크기가 너무 크다..!! 구하려는 것도 팩토리얼인데.. 사실 처음 짠 코드는 그런 거 상관없고 문제만 풀리면 장땡..! 이라는 식으로 만든 코드다. nCm = n!/{m!(n-m)!} 이라는 수식에만 맞춰서 파이선으로 심지어 팩토리얼을 구현하여 시간초과가 뜰 것이 어쩌면 당연한 코드다. #2004 조합 from math import factorial c = 1; n, m = [int(x) for x in input().split()];.. 더보기