さんぽみち

なにか思いついたときとかに気まぐれに更新されます。

Project Euler

C#で Project Euler P10

問題 Problem 10 「素数の和」 10以下の素数の和は 2 + 3 + 5 + 7 = 17 である. 200万以下の全ての素数の和を求めよ. Problem 10 - PukiWiki 方針 C#で Project Euler P3 - さんぽみち で作成した素数生成器を使って足していくだけ。 解答 using System; usi…

C#で Project Euler P9

はじめに 方針を書いてますが、あくまで方針であり証明などは省いてます。 気になる方はgoogle先生に聞くと答えてくれるので聞いてみてください。 問題 Problem 9 「特別なピタゴラス数」 ピタゴラス数(ピタゴラスの定理を満たす自然数)とは a < b < c で以…

C#で Project Euler P8

はじめに ソースの前に、簡単な方針を今回から書きます。 問題 次の1000桁の数字のうち, 隣接する4つの数字の総乗の中で, 最大となる値は, 9 × 9 × 8 × 9 = 5832である. 73167176531330624919225119674426574742355349194934 969835203127745063262395783180…

C#で Project Euler P7

問題 Problem 7 「10001番目の素数」 素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり, 6番目の素数は 13 である. 10 001 番目の素数を求めよ. Problem 7 - PukiWiki 解答 using System; public static class P7 { public static void Main() { Co…

C#で Project Euler P6 別解

はじめに C#で Project Euler P6 - さんぽみち の効率のいい方法を見つけので実装しました。 どう考えてももっと早くなりそうだったのでちゃんと考えました。 手続的な実装というよりも一般項を求めることがメインです。 問題 Problem 6 「二乗和の差」 最初…

C#で Project Euler P6

問題 Problem 6 「二乗和の差」 最初の10個の自然数について, その二乗の和は, 12 + 22 + ... + 102 = 385 最初の10個の自然数について, その和の二乗は, (1 + 2 + ... + 10)2 = 3025 これらの数の差は 3025 - 385 = 2640 となる. 同様にして, 最初の100個の…

C#で Project Euler P5

問題 2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり, そのような数字の中では最小の値である. では, 1 から 20 までの整数全てで割り切れる数字の中で最小の正の数はいくらになるか. Problem 5 - PukiWiki 解答 P5.cs using System; public s…

C#で Project Euler P4

問題 左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である. では, 3桁の数の積で表される回文数の最大値を求めよ. Problem 4 - PukiWiki 解答 using System; public static class …

C#で Project Euler P3

はじめに P2はフィボナッチ数列の級数に関する問題だけど、問題に魅力を感じなかったので飛ばしました。 で、僕としては好みなP3をやります。 そういや問題には直接関係ないけど、C#って末尾再帰の最適化してくれないのね。。。 再帰的に書こうと思ってたけ…

C#で Project Euler P1

はじめに 暇だったのでやってみた。 本家 : About - Project Euler 日本語: Project Euler - PukiWiki テンプレート using System; public static class P { public static void Main() { Console.WriteLine(Calc()); } private static int Calc() { } } …