今までに解いたProject Euler

ソースファイル: Microsoft OneDrive - Access files anywhere. Create docs with free Office Online. Friend Key: 186068_Hw0qIP8ugAzQDdCfJ67GKNC3Q7NO76Pl

Project Euler 70

解答:https://ideone.com/IxvPb3 解法 $\frac{n}{\varphi(n)}$が最小となる条件を考えると,$\varphi(n)=n-1$($n$は素数)なので,$n$が大きな素数であることが考えられます.しかし,このとき$n$と$\varphi(n)$で桁の置換はできません. $n$が2つの素数の積…

Project Euler 69

解答:http://codepad.org/AWFZdG1J 最後にも述べていますが,プログラムを書く必要がない問題だと分かりました.電卓があれば良いです. 解説 次の公式(2)を使用します: $n$を素因数分解して, $$ \begin{equation} n = {p_1}^{\alpha_1}{p_2}^{\alpha_2}\…

Project Euler 68

全てのノードに重複が無いよう,また'10'は外側のノードに来るように1~10の数字を配置しました. 結構早く答えは求まりますが,ソースで入れ子になってるループがなんかダサいです. スマートな解法はあるのでしょうか・・・ https://ideone.com/S6bSlV

Project Euler 67

ある行のノードへの最大コストは,その前の行の隣り合う2つのノードへの最大コストの大きい方で決まります. よって,1行読むごとに,その行に含まれるノードへの最大コストだけ記録すれば,100行読み終えたときに答えが求まります. https://ideone.com/TIB…

Project Euler 66

この問題を解くのに必要だったことを以下にメモします.定理の詳しい証明などは他の書籍を見て下さい. 解答:https://ideone.com/WF6K5w ペル方程式 Project Eulerの問題文中では「2次のディオファントス方程式を考えよう」と書かれていますが, $$\begin{e…

Project Euler 65

を配列に格納し,これを後ろから使って,連分数を普通の分数に直しました. Pythonです. http://codepad.org/DFbRlC4U

Project Euler 64

平方根が,整数部分と小数部分の和で表されるように展開しました. 時間が無いので,解けたという報告だけ. http://ideone.com/xS6Sqg

Project Euler 63

の乗の対数(底10)をとることを考えます. それによっての桁数が分かるので, を満たせば良いと分かります.右辺より, 左辺より, この左辺は,大で,10に近づき,9.0を超えると上の不等式を満たすは存在しなくなります. を得ます.従って,について,3つ上…

Project Euler 62

13, 23, 33, ... の立方数の各桁の数字をカウントしたとき, 0~9の個数が同じになる立方数は,互いに桁の置き換えを持つ立方数であることに気付きました. 0の個数ごとに枝分かれをし,そのそれぞれのノードから,1の個数ごとに枝分かれをし,... という多分…

Project Euler 61

4桁の各多角数ごとに上二桁が等しい数でリストを作り, 順序集合内に多角数が一種類ずつ現れるように,深さ優先探索をしました. http://codepad.org/CXwQpBDm

ベジエ曲線

以下のプログラムは2次ベジェ曲線を書きます. PicturePanel.java package beziercurve; import java.awt.Color; import java.awt.Graphics; import java.awt.Point; import java.util.ArrayList; import java.util.List; import javax.swing.JPanel; public…

魔方陣

奇数が入力されたときに,魔方陣を1つ生成します. ヒンズーの連続方式(Siamese methodとも言うらしい)を用いました. #include <stdio.h> #include <stdlib.h> void makeMagicSqu(int ***matrix, int n) { int x = n / 2, y = 0; int nextx, nexty; int cnt = 1; while( cnt <=</stdlib.h></stdio.h>…

素数判定と素因数分解

これからは日頃からプログラムを書く癖をつけようと思います. 素数判定 #include <stdio.h> int isPrime(int n) { int i; if( n < 2 ) return 0; if( n == 2 ) return 1; if( n % 2 == 0 ) return 0; for( i = 3; i * i <= n; i += 2 ) { if( n % i == 0 ) return 0;</stdio.h>…

Project Euler 60

ダサいです。 http://codepad.org/ZJHBDLKC素数リストからいきなり5つ取るのではなく、 2つ取ってはそれらを組み合わせて素数にならなければ別の2つを、 3つ取ってはそれらを組み合わせて素数にならなければ別の3つを、、、 みたいにして無駄を省きました(枝…

Project Euler 59

問題文がわかりづらいですね・・・w 暗号鍵の1文字と暗号文の1文字でxorをとるようですね。何をもって完璧に復号できたか、ですが、 復号した文中に"the"や"can"があるとかは判定せず、その文が 英単語、数字、英文で使われそうな記号(具体的には、. , : ; …

Project Euler 58

正方形の4隅が素数であるかどうか判定するだけでした。http://codepad.org/TPp0wIAt

Project Euler 57

今回もPythonです。http://codepad.org/m8qW07sq

Project Euler 56

C言語で多倍長演算を実装してる途中で、あまりに面倒くさくなったので、 今回はPythonです。 http://codepad.org/iqjwda6Tオーバーフローを気にしなくて良いというのが嬉しいですね。

Project Euler 55

http://codepad.org/yk4p68Hfintでもlong long intでも50回回してたらオーバーフローしてしまったので、 半分の25回だけにしたところ正しいと判定されたので、 それを答えとします。

Project Euler 54

http://codepad.org/nrYZ3KQiA2345のストレートを考えなくて良いというのが簡単でいいですね。 手札のランクをソートしたら簡単に出来ました。

Project Euler 53

http://codepad.org/jr3RnmOjr = 0からn/2まで100万を超えないnCrの数を数えて、nからその数の2倍を引いて終了です (nCrをr = 0からnまでリストアップすると、r = n/2で対称なので)。

Project Euler 52

http://codepad.org/PCocUxKSちょろすぎw

Project Euler 51

久しぶりにProject Euler解いてみました。 AtCoderの問題でビットを使って解くと良いのがあり、それを参考に この問題でも、全探索のためにビットを使っています。 http://codepad.org/tj215xuhhttp://www.usamimi.info/~geko/arch_acade/elf009_prime/list.…

時間計れるようにした。

こないだのモンテカルロが、クリアまでの時間を計ることができるようになりました。よかったら遊んでみてください。 http://goo.gl/aly48

モンテカルロ作った。

モンテカルロ(ソリティア)を作れ、という課題が出されました。コンソールで動くゲームよりも、マウスを使って操作することができるゲームの方が好きなので、また作りました。 http://goo.gl/aly48 バグが残ってるので、早めに直してしまいたいと思います。 …

動き続けるマウスカーソル。

パソコンの前から離れるけれど、何か操作してる状態にはしておきたい。という場面が最近多いので、作りました。 http://goo.gl/UggZg チェックすると、カーソルが動き続けます。 チェックをはずすと、止まります。

順列生成コード(2)。

前回のプログラム(http://d.hatena.ne.jp/maple0705/20110205/1296916917)がなんか嫌だったので書き直しました。 http://codepad.org/CNMO7Tli 追記(2011/9/23): プログラムにバグを見つけたので直しました。 上記のアドレスは更新されています。

たて対よこ 完成。

チャット機能も備えたゲームがやっとできました! http://goo.gl/51HLGしかし、チャットで日本語が入力できなくなってしまいました。いつか直します。

チャットプログラム。

たて対よこの右側を埋めるあれですw http://codepad.org/Yeea84KL チャットプログラムとは書きましたが、送受信には対応させてません。 テストしてないので。 自分で文字列を入力して、表示。みたいなことができるコードです。 表示領域をはみ出しても、マ…