「 Programming 」一覧
Project Euler 323. Bitwise-OR operations on random integers
\(y_0, y_1, y_2, \ldots\) をランダムな符号なし32ビット整数とする(つまり,\(0\leq y_i<2^{32}\), 任意の値が同様に確からしく現れるとする). 列\(x_i\)に対して,次の漸化式が与えられている: \(x_0=0\), \(x_i=x_{i-1}|y_{i-1}\), (i>0). (\( | \)はビットごとのORをとる操作) 最終的に,ある添字\(N\)が存在して全ての\(i\geq N\)に対して\(x_i=2^{32}-1\)(すべての桁が1であるビットパターン)となることが分かる. \(N\)の期待値を求めよ.答えは小数点以下10桁に四捨五入して答えよ.
Project Euler 157. Solving the Diophantine equation 1/a+1/b=p/10^n
\(a, b, p, n\) を正の整数,\(a\leq b\) として,ディオファントス方程式 \(\dfrac{1}{a}+\dfrac{1}{b}=\dfrac{p}{10^n}\) を考える.\(n=1\) のとき,この方程式は20個の解をもつ.(具体的な解は前回の記事を御覧ください) \(1\leq n\leq 9\) におけるこの方程式の解は全部でいくつあるか.
プロジェクトオイラー555. McCarthy 91 function
マッカーシーの91関数は以下のように定義される. \begin{align*} M_{91}(n) &= \left\{\begin{array}{ll}n-10 & \mathrm{if}\,n>100\\ M_{91}(M_{91}(n+11)) & \mathrm{if}\,0\leq n\leq 100\end{array}\right. \end{align*}
プロジェクトオイラー389. ~Platonic Dice
偏りのない4面のサイコロ1個を投げて,出た目を \(T\) として記録する.\(T\) 個の偏りのない6面のサイコロを投げて,出た目を足し合わせた和を \(C\) として記録する.\(C\) 個の偏りのない8面のサイコロを投げて,出た目を足し合わせた和を \(O\) として記録する.\(O\) 個の偏りのない12面のサイコロを投げて,出た目を足し合わせた和を \(D\) として記録する.\(D\) 個の偏りのない20面のサイコロを投げて,出た目を足し合わせた和を \(I\) として記録する.このとき,\(I\) の分散を求め,四捨五入して小数第4位まで答えよ.
プロジェクトオイラー343.
No.343 Fractional Sequences 問題. 任意の正の整数 \(k\) に対して,分数 \(y_i/x_i\) で表される数 \(a_i\) の有限列を次のように定義する