SlideShare a Scribd company logo
1 of 11
Download to read offline
NPC April Fool's Contest 2014
累乗数
Kinokkory@shiatsumat
問題文概要
https://judge.npca.jp/problems/view/181/
• NCK が累乗数となる K を列挙せよ
• 1≦N≦1,000,000,000
• 「Perfect Power」って超カッコいい
埋め込み
• NO!
正攻法 その1
• とりあえず NC1 だけチェックしてみる
• N を素因数分解して各素因数の個数の
最大公約数を取って 2 以上だったら OK
正攻法 その2
• そもそも NCK を計算するのがだるい
• 真面目に掛け算するのは多倍長が必要だけど
素因数分解してから各素因数について個数を
足し合わせれば簡単
正攻法 その3
• どれだけ累乗数判定を頑張っても
各 K についてきちんと判定していたら O(N)
• どうしよう……もう無理……
正攻法 その4
• これ Proofs from THE BOOK でやったやつだ!
• 無料で読めます
http://www.math.boun.edu.tr/instructors/o
zturk/proofs.pdf
Binomial coefficients are
(almost) never powers
• Theorem. The equation 𝑛
𝑘
= 𝑚𝑙 has no
integer solutions with 𝑙 ≥ 2 and 4 ≤ 𝑘 ≤ 𝑛 − 4.
二項係数が累乗数になることは
(ほとんど)ない
• 定理. 方程式 𝑛
𝑘
= 𝑚𝑙 は 𝑙 ≥ 2 かつ 4 ≤ 𝑘 ≤
𝑛 − 4 の範囲で整数解を持たない.
証明
• 非常に面白いのですがかなり長いので
ぜひ Proofs from THE BOOK を読んで下さい
• マジで面白いです
Matt Schmidt
• シュミッツマット君は
完全無欠たる力を手に入れるために
数学の修行を始めたのであった―――

More Related Content

More from Yusuke Matsushita

型理論 なんて自分には関係ないと思っているあなたへ
型理論 なんて自分には関係ないと思っているあなたへ型理論 なんて自分には関係ないと思っているあなたへ
型理論 なんて自分には関係ないと思っているあなたへYusuke Matsushita
 
Modeling Concurrent Computing
Modeling Concurrent ComputingModeling Concurrent Computing
Modeling Concurrent ComputingYusuke Matsushita
 
Programmers, be a Wikipedian
Programmers, be a WikipedianProgrammers, be a Wikipedian
Programmers, be a WikipedianYusuke Matsushita
 
プログラミング・パラダイム
プログラミング・パラダイムプログラミング・パラダイム
プログラミング・パラダイムYusuke Matsushita
 

More from Yusuke Matsushita (7)

型理論 なんて自分には関係ないと思っているあなたへ
型理論 なんて自分には関係ないと思っているあなたへ型理論 なんて自分には関係ないと思っているあなたへ
型理論 なんて自分には関係ないと思っているあなたへ
 
C#への招待
C#への招待C#への招待
C#への招待
 
Modeling Concurrent Computing
Modeling Concurrent ComputingModeling Concurrent Computing
Modeling Concurrent Computing
 
Programmers, be a Wikipedian
Programmers, be a WikipedianProgrammers, be a Wikipedian
Programmers, be a Wikipedian
 
OpenMPI入門
OpenMPI入門OpenMPI入門
OpenMPI入門
 
確率解析計算
確率解析計算確率解析計算
確率解析計算
 
プログラミング・パラダイム
プログラミング・パラダイムプログラミング・パラダイム
プログラミング・パラダイム
 

NPC April Fool's Contest 2014 累乗数