読者です 読者をやめる 読者になる 読者になる

PEをMathematicaで

Project Eulerに挑戦してみよう

Project Euler 291 / Panaitopol素数

素数 p がある正の整数 x, y に対してをみたすとき,p を Panaitopol 素数 と呼ぶ。 5x10^15 未満の Panaitopol 素数はいくつあるか。Problem 291 - Project Euler 問題216とほとんど同じ方法で解けてしまった。x と y の最大公約数を g として x=gX, y=gY(…

Project Euler 216 / 2n^2-1 の形の素数

式 t(n) = 2n^2-1 (n>1)で表される数 t(n) について考える。最初の数個を挙げると 7,17,31,49,71,97,127,161 となる。 この中では 49 = 7*7 と 161 = 7*23 だけが素数でない。n ≤ 10000 では 2202 個の t(n) が素数である。n ≤ 50,000,000 で素数である t(n)…

Project Euler 239 / 場違いな素数たち

それぞれ 1 から 100 まで番号の書かれたディスクが一列に無作為に並んでいる。ちょうど 22 個の素数の番号のディスクが番号順の位置と異なる場所にある確率を求めよ。素数でない番号のディスクはどれも番号順の位置にあってもなくてもよい。解答は小数点以…

Project Euler 211 / 約数の2乗の和

正の整数 n に対して σ2(n) を約数の2乗の和とする。たとえばσ2(10) = 1+4+25+100 = 1300 Problem 211 - Project Euler 約数の2乗の和は DivisorSigma[2,n] で簡単に求められますが,平方数の判定で苦労しました。Mathematica には isSquareQ みたいな関数が…

Project Euler 286 / 得点確率

Barbara は数学者でありバスケットボール選手である。彼女は距離 x からシュートしたときに得点できる確率がちょうど (1-x/q) であることに気づいた。ここで q は 50 よりも大きな実定数である。各予行練習では,彼女は 距離 x=1, x=2, ..., x=50 からシュー…

Project Euler 231 / 二項係数の素因数分解

二項係数 C[10, 3] = 120 は 120 = 2^3 ×3×5 = 2×2×2×3×5 2+2+2+3+5 = 14 をみたす。C[10, 3] を素因数分解した項の和は 14 となる。C[20000000, 15000000] を素因数分解した項の和を求めよ。Problem 231 - Project Euler ダメ元で素因数分解させてみたらや…

Project Euler 206 / 覆面平方数

平方すると 1_2_3_4_5_6_7_8_9_0("_"は1桁の数) の形の数になる自然数がただ一つある。その値を求めよ。Problem 206 - Project Euler 第1案 もとの数を n とします。n^2 の一の位が0なので,n は10の倍数です。また,n^2 の百の位が9であることから,n の…