재밌는 문제 풀어보셈요(10.20)(2000덕)
게시글 주소: https://orbi.kr/00069551380
간단한 정수 문제이지만
사실 증명이 메인이라 증명도 간략하게 써주시면 감사하겠습니다!
난이도 :2.5/5
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
보통 사설모고나 기상쌤 모고 푸시면 몇분정도 걸리나요? 저는 한 25분-28분 걸리는 것 같아요
-
느낌오는사람있음 ㅇㅇ
-
영어 빈칸 풀어볼사람 38
왜 다 맞는 말 같지;; 답을 못 내겠다ㅠㅠㅠ
-
지구 실모 0
난이도 순으로 하면 어떤 순서인가요?
-
ㅅㅂ
-
오늘하루 6
푹 쉬어버렸네... ㄱㅊ겟죠? 괜찮다고해주세요
-
우리 누나 고딩 같은 반 동창이 졸업 후 내내 소식 없고 얼굴도 안봤다가 갑자기 잘...
-
공장형 실베 복붙 AI영상밖에 안남음... 알고리즘 족망했다
-
한완수하는데 너무 어렵네 ㅅㅂ
-
아오 그냥 괜히 위화감 조성이나 하고…
-
아니 일요일날엔 좀 쉬어라 제발
-
정법 시대컨 2
파이널브릿지 vs 전국서바 뭐가 더 어렵나요
재밌겠군
18?
THANK(땡)
14?
정답!
증명은...?
6⁴ = 1296 < 2077 < 7⁴ = 2401 이므로
6⁴(1296), 5⁴(625), 4⁴(256), 3⁴(81), 2⁴(16), 1⁴(1)
위의 수들의 합으로 2077을 만들어야 함.
1⁴, 2⁴, ..., K⁴들의 합을 이용해 자연수 N을 만들 때
사용된 수들의 최소 개수 : a[N] 이라 하면
a[N] = if(N > i⁴)min(a[N], a[N - i⁴] + 1) (1 ≤ i ≤ K),
a[1⁴] = a[2⁴] = ... = a[K⁴] = 1 로 정의됨.
여기서 N = 2077, K = 6이므로
이를 c++ 코드로 잘 작성해서 돌려보면 a[2077] = 14가 나옴.
역추적까지 해보면
2×5⁴ + 4⁴ + 7×3⁴ + 4×1⁴ = 2077
임을 알 수 있음.
코드풀이는 좀;;
정수로 증명쉽게 되요 ㅋㅋ

풀면서 자꾸 다이나믹 프로그래밍 생각나길래 그만..저도 dp를 모르는게 아닙니다만..허허 수학은 손으로 풀어야된다고욥!
대충 sketch.
2077==13 (mod16)이고, x^4==0or1 (mod16)이므로 n은 최소 13이다.
옙옙