111111111111111111111111
페이지 정보

본문
접근법늘 111111111111111111111111 그렇듯 일단 되는대로 구현해봤다.첫 번째 코드ㄴ값은 문자열로 받고 그 값에 0과 1을 붙인 문자열을 int로 바꾼다.그 int 값이 입력한 숫자로 나눴을 때 나머지가 0이라면 그 문자를 출력하는 형식이다.처음이 늘 111111111111111111111111 그렇듯 돌리자마자 예제부터 돌아가지를 않았다.이유는 문자열이 예를 들어 111111111111111111111111이라고 한다면,이미 int나 longlong 범위를 넘어가기 때문에 ZeroOne에 숫자를 담을 수가 없는 것이다.두 번째 코드ㄴ두 번째 시도는 값을 노가다로 적다가 알아낸 111111111111111111111111 부분에서 시작되었다.기쁨의? (메모장)ㄴ더한 값을 입력된 수로 나눈 나머지가 전 값의 [(나머지 x10)% 입력값]과 동일했던 것이다.무려 2시간을 고민하다 찾아낸 만큼 기쁜 마음으로 제출을 해보았다.??? : 땡!ㄴ메모리 초과를 본 순간 생각나는 111111111111111111111111 건 바로 아홉수였다.9는 특이하게 곱할수록 끝자리 숫자가 1씩 내려간다.9가 0 또는 1이 되려면 9~10을 곱해야 하는데, 그럼 앞자리 숫자가 n-1(9 또는 8)이 되며 한 칸씩 내려간다.그럼 99만 하더라도 9^9~10 111111111111111111111111 연산을 9번 해야 한다는 소리 같아서이를 메모리 초과로 예상해 보았다.(순간적 뇌피셜이라 계산식 아닐 가능성 높음)세 번째 코드ㄴ뇌피셜에 의해 2만이하의 아홉수들을 그냥 예외처리 해보았다.그 후 제출을 해보니??? : 나 플래티넘 111111111111111111111111 문제야ㄴ그건 너의 뇌피셜일 뿐이라며 거절당했다.ㄴ실제로 돌려보니 9^9는 무슨 26만으로 턱도 없는 사이즈가 나왔는데생각해 보니 나는 나머지 값을 넣고 있었다..나머지 값이 26만개가 나올 경우가 무엇이냐?라고 물었을 때난 순환소수를 생각했다.위 메모장에서는 111111111111111111111111 발견하지 못했지만, 같은 나머지 값이 반복될 경우 지나치게 size가 커질위험이 있었다. 때문에 같은 나머지 값을 반복해서 나누지 않도록 들어온 나머지 값을방문 체크하기로 했다.ㄴ선언 값ㄴ main결과값을 한 번에 출력해야 하기 111111111111111111111111 때문에(데인 적이 많아서..)queue와 방문 체크는 bfs 함수 안에 넣어놨다.ㄴ나머지 값은 범위가 20000이므로 20000보다 높은 나머지 값이 나올 수 없다.이후 방문 체크를 하며 위에서 설명한 대로 루프를 돌며 만족할 만한 111111111111111111111111 값을 찾는다.최종 코드
- 이전글베개 | 강남노래방단체 OlO 8119 1677 ↙강남엘리트 25.07.05
- 다음글주소창★공룡페이.com★소액결제현금화,정보이용료현금화,신용카드현금화방법 최대지급 신용카드현금화 정보이용료현금화 콘텐츠이용료현금화 소액결제현금화 25.07.05
댓글목록
등록된 댓글이 없습니다.