sa이코패스 [1325705] · MS 2024 · 쪽지

2024-10-16 21:07:08
조회수 2,097

재밌는 문제 풀어보셈요(10.16)(1500덕)

게시글 주소: https://leave.orbi.kr/00069510928

간단한? 정수 문제입니다.


난이도 : 2.5/5

0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.

  • 열​반 · 1071435 · 10/16 21:14 · MS 2021

    가운데에 뭔기호에요?

  • Point0 · 1256291 · 10/16 21:21 · MS 2023

    a | b 에서 b가 a로 나누어 떨어진다는 의미입니다

  • sa이코패스 · 1325705 · 10/16 21:28 · MS 2024

    이젠 님이 알려주시는군요..ㅋㅋ

  • 하할ㄹ · 1339220 · 10/16 21:59 · MS 2024
    회원에 의해 삭제된 댓글입니다.
  • 하할ㄹ · 1339220 · 10/16 23:08 · MS 2024

    이 문제 n<=2p 조건을 쓰면 간단한가요? ㅋㅋ 제 풀이는 이걸 안 썼는데 (어떻게 쓸지 모르겠어서..) 안 써서 그런가 좀 어려운 문제인 듯..

    답은 (n,p) =(2,2), (3,3)이다.

    i) 2|n
    2|(p-1)^n+1 => p=2 =>n|2 => n=2.

    ii) n은 홀수이고 p의 배수가 아님.
    n의 최소 소인수를 q라고 하자. p-1이 q의 배수가 아님은 당연하다.

    (p-1)^2n==1 (modq), (p-1)^(q-1)==1 (modq) (by 페르마 소 정리)
    => (p-1)^gcd(2n,q-1)==1 (modq) => (p-1)^2==1 (modq) (∵q는 홀수, (q-1,n)=1)
    => q|p(p-2)=>q|p-2 => p==2 (modq) (∵p와 q는 서로 다른 소수)
    => 0==(p-1)^n+1==1+1==2 (modq) => q=2 모순.

    iii) n은 홀수이고 p|n.
    v_p(n)=x라 하자.
    Lifting the exponent lemma에 의해
    x*(p-1)≤v_p((p-1)+1)+x => (p-2)x ≤ 1 => p≤3 => p=3 (∵x≥1)

    => n^2|2^n+1. 이는 imo 1990/P3이고, 답은 n=3 하나뿐이다.

    따라서 구하는 모든 (n,p)는 (2,2), (3,3)이 전부이다.

  • sa이코패스 · 1325705 · 10/17 16:16 · MS 2024

    오 맞아요 이제 봤네요.. 난도를 낮추기 위해 필요한 조건이랄까요 ㅋㅋ

  • sa이코패스 · 1325705 · 10/17 16:17 · MS 2024

    쉽게푼 버전입니다

  • 전곽의 전설이 될 뻔한 · 1192164 · 10/17 16:11 · MS 2022

    n^(p-1) | (p-1)^n + 1 이므로
    n | n² | ... | n^(p-1) | (p-1)^n + 1

    i) p가 n의 약수
    p | (p-1)^n +1이므로 (-1)^n +1 = 0 (mod p)
    1) n 짝수
    2 = 0 (mod p)인 p = 2가 유일.
    n^(p-1) | 2 이므로 n <= 2, 따라서 1 < n <= 2인 짝수 n은 2뿐.
    2) n 홀수
    n = pk <= 2p이므로 k = 1, n = p
    따라서 준 식 p^(p-1) | (p-1)^p + 1
    한편
    (p-1)^p + 1
    = pCp p^p - pC(p-1) p^(p-1) + pC(p-2) p^(p-2) - ... - pC2 p² + pC1 P - 1 + 1
    = p² (pCp p^(p-2) - pC(p-1) p^(p-3) + ... - pC2 + 1) = f(p)
    p | pCi 이므로 p² | f(p)이고 p³ !| f(p)
    따라서 홀수 p는 3이 유일, 이때 n = 3

    ii) p가 n의 약수 x
    {n, n², ..., n^(p-1)} = {1, 2, ..., p-1} (mod p)
    따라서 (p-1)! = (p-1)^n + 1 (mod p)
    이때 (p-1)! = p-1 (mod p) 이므로
    p-1 = (p-1)^n + 1 = (-1)^n + 1 (mod p)
    p > 2인 소수 p에 대해 p-1 != (-1)^n이므로 불가

    (2, 2), (3, 3)

  • sa이코패스 · 1325705 · 10/17 16:16 · MS 2024

    맞습니다!

  • sa이코패스 · 1325705 · 10/17 16:17 · MS 2024

    윗댓 사진 풀이 참고해보세요!

  • 전곽의 전설이 될 뻔한 · 1192164 · 10/17 16:23 · MS 2022

    저런 문제는 어디서 가져오는 건가요?
    작성하신 글 보니 저런 거 종종 올리시는 것 같은데..

  • sa이코패스 · 1325705 · 10/17 16:26 · MS 2024

    경시 변형하거나 대부분 제가 만듭니다

  • 전곽의 전설이 될 뻔한 · 1192164 · 10/17 18:26 · MS 2022

    그렇군요 감사합니다

  • 전곽의 전설이 될 뻔한 · 1192164 · 10/17 16:22 · MS 2022

    약간의 오타가 있네요
    마지막줄 p-1 != (-1)^n + 1 (mod p)

  • 하할ㄹ · 1339220 · 10/17 16:57 · MS 2024

    내친 김에 1990 imo P3 제 풀이도 올려봅니다.
    n^2|2^n+1

    n=1이면 조건을 만족한다.

    n>1일 때, n의 최소 소인수를 p라고 하자.
    2^(2n)==1 (modp), 2^(p-1)==1 (modp) (by 페르마 소 정리)
    => 2^(2n,p-1)==1 (modp) => 2^2==1 (modp) (∵(n,p-1)=1)
    따라서 p=3이다.

    Lifting the exponent lemma에 의해
    2*v_3(n)=v_3(n^2)≤v_3(2^n+1)=v_3(2+1)+v_3(n) => v_3(n)≤1 => v_3(n)=1

    n=3t라 하자. (t는 3의 배수가 아니다.)

    t>1이면 t의 최소 소인수를 q라고 하면,

    8^(2t)==1 (modq), 8^(q-1)==1 (modq) (by 페르마 소 정리)
    => 8^(2t,q-1)==1 (modq) => 8^2==1 (modq) (∵(t,p-1)=1)
    => q|63 => q=7 (∵q≠3)

    2^n+1을 7로 나눈 나머지는 2,3,5만 가능하므로 모순, => t=1 => n=3

    n=3일 때 확인해보면 해가 됨을 알 수 있다.

    따라서 구하는 n은 1,3.

  • sa이코패스 · 1325705 · 10/17 16:59 · MS 2024

    오 aops에서 봤던 풀이랑 비슷해요

  • 하할ㄹ · 1339220 · 10/17 17:03 · MS 2024

    근데 위에 풀이에서

    q|p-2인 경우에 왜 쌍둥이 소수여야만 가능한가요?

  • sa이코패스 · 1325705 · 10/17 17:05 · MS 2024

    q와 p가 모두 소수여서요 2차니 나는 소수쌍을 쌍둥이 소수라고 해요

  • 하할ㄹ · 1339220 · 10/17 17:10 · MS 2024

    그건 아는데 p-2가 꼭 소수이진 않잖아요, p-2가 합성수이고, q가 p-2의 약수일 수도 있는거 아닌가요

  • sa이코패스 · 1325705 · 10/17 17:13 · MS 2024

    아 그렇네요. 아무생각없이 풀다보니까 그렇게 됬군요. 수정해서 올릴게요..ㅋㅋ

  • 하할ㄹ · 1339220 · 10/17 17:18 · MS 2024

    제가 그 부분에서 잠깐 막혔었는데 그냥 제 풀이처럼,
    p==2 (modq) => 2==(p-1)^n+1==0 (modq) => q=2로 처리하는게 젤 간단한 듯요

  • sa이코패스 · 1325705 · 10/17 17:27 · MS 2024

    맞아요. 제가 쓴 풀이 위에구해논 mod 식을 이용하는게 젤 간편하긴 해요
    추가적으오 최대공약수 쪽으로 풀어서 접근해서 되는지 해보고 있었습니다