2010-10-01から1ヶ月間の記事一覧

TopCoder SRM 433 DIV 2

Problem Check Points 250 ◯ 243.98 500 × - 1000 - -

Project Euler 57

2の平方根は無限に続く連分数で表すことができる.√ 2 = 1 + 1/(2 + 1/(2 + 1/(2 + ... ))) = 1.414213... 最初の4回の繰り返しを展開すると以下が得られる. 1 + 1/2 = 3/2 = 1.5 1 + 1/(2 + 1/2) = 7/5 = 1.4 1 + 1/(2 + 1/(2 + 1/2)) = 17/12 = 1.41666... …

TopCoder SRM 434 DIV 2

Problem Check Points 250 ◯ 220.89 500 × - 1000 - - また500で凡ミスっ・・・! (変数)=='0'と書くところを (変数)==0 と書いてしまいました・・・

Project Euler 92

各桁の2乗を足し合わせて新たな数を作ることを、同じ数が現れるまで繰り返す。例えば 44 → 32 → 13 → 10 → 1 → 1 85 → 89 → 145 → 42 → 20 → 4 → 16 → 37 → 58 → 89のような列である。どちらも1か89で無限ループに陥っている。 驚くことに、どの数から始めて…

TopCoder SRM 435 DIV 2

Problem Check Points 250 ◯ 216.58 500 ◯ 335.45 1000 - - 1000がもう少しで解けそうだった! 実際解けてないから点にはなってないんだけども、1000も解けそうな問題があるんだなー、と。

TopCoder SRM 486 DIV 2

Problem Check Points 250 ◯ 182.73 500 × - 1000 - - Rating 401 -> 622 とりあえず250解けたのでよかった。 500はif文をelse ifと書いていただけの残念すぎる間違い。

TopCoder SRM 437 DIV 2

beauty beautyうるさかったw

Project Euler 49

項差3330の等差数列1487, 4817, 8147は次の2つの変わった性質を持つ。(i)3つの項はそれぞれ素数である。 (ii)各項は他の項の置換で表される。 1, 2, 3桁の素数にはこのような性質を持った数列は存在しないが、4桁の増加列にはもう1つ存在する。それではこの…

Project Euler 59

各文字はそれぞれ一意のコードに割り当てられている. よく使われる標準としてASCII (American Standard Code for Information Interchange) がある. ASCIIでは, 大文字A = 65, アスタリスク (*) = 42, 小文字k = 107というふうに割り当てられている.モダンな…

Project Euler 63

5桁の数 16807 = 7^5は自然数を5乗した数である. 同様に9桁の数 134217728 = 8^9も自然数を9乗した数である. 自然数をn乗して得られるn桁の正整数は何個あるか? http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2063

TopCoder SRM 438 DIV 2

Problem Check Points 250 ○ 204.20 500 ○ 222.36 1000 - - 「問題が面白くない」と不評でした。力技だもんなぁ。

Project Euler 44

五角数は で生成される. 最初の10項は1, 5, 12, 22, 35, 51, 70, 92, 117, 145, ... である.である. しかし差 70 - 22 = 48は五角数ではない.五角数のペア とについて, 差と和が五角数になるものを考える. 差を と書く. 差 D の最小値を求めよ.

POJ 1004 Financial Management

Description Larry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. Larry has decided that he needs to grab hold of his financial portfolio and solve his financing problems. The …

POJ 1852 Ants

Description An army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm/s. When a walking ant reaches an end of the pole, it immediatelly falls off it. When two ants meet they turn back and start walking in…

TopCoder SRM 485 DIV 2

Problem Check Points 250 × - 500 - - 1000 - - これはひどい!最悪のスタートを切りました・・・ 250 -> 問題読み間違え 500 -> 実装がこんがらがった

TopCoder SRM 439 DIV 2

Problem Check Points 250 ○ 164.76 500 ○ 247.74 1000 - - 初めて500が通ったぞー!

Project Euler 46

Christian Goldbachは全ての奇合成数は平方数の2倍と素数の和で表せると予想した.9 = 7 + 2×1^2 15 = 7 + 2×2^2 21 = 3 + 2×3^2 25 = 7 + 2×3^2 27 = 19 + 2×2^2 33 = 31 + 2×1^2 後に, この予想は誤りであることが分かった.平方数の2倍と素数の和で表せない…

Project Euler 43

数1406357289は0から9のPandigital数である (0から9が1度ずつ現れるので). この数は部分語が面白い性質を持っている.を1桁目, を2桁目の数とし, 以下順にを定義する. この記法を用いると次のことが分かる.=406は2で割り切れる =063は3で割り切れる =635は5で…

Project Euler 47

連続する2つの数がそれぞれ2つの異なる素因数を持つのは14 = 2 × 7 15 = 3 × 5 の場合である. 同様に連続する3つの数がそれぞれ3つの異なる素因数を持つのは644 = 22 × 7 × 23 645 = 3 × 5 × 43 646 = 2 × 17 × 19 の場合である. 連続する4つの数がそれぞれ4…

Project Euler 50

素数41は6つの連続する素数の和として表せる:41 = 2 + 3 + 5 + 7 + 11 + 13. 100未満の素数を連続する素数の和で表したときにこれが最長になる.同様に, 連続する素数の和で1000未満の素数を表したときに最長になるのは953で21項を持つ.100万未満の素数を連続…

Project Euler 38

192を1, 2, 3で掛けてみよう. 192 × 1 = 192 192 × 2 = 384 192 × 3 = 576 積を連結することで1から9のPandigital数 192384576 が得られる. 192384576を 192と(1,2,3)の連結積と呼ぶ.同じようにして, 9を1,2,3,4,5と掛け連結することでPandigital数918273645…

TopCoder SRM 440 DIV 2

Problem Check Points 250 ○ 194.24 500 - - 1000 - - 500を提出すらできないという体たらく。代わりにDFSを覚えました。

TopCoder SRM 441 DIV 2

Problem Check Points 250 ○ 186.53 500 × - 1000 - - 500は痛恨のキャストミス。なぜlong longにしなかったぁあああ

TopCoder SRM 442 DIV 2

@Matsu4512 と @phyllo にホイホイ誘われてTopCoderの環境を入れました。 プラグイン環境について参考にしたのはこちら。 で、さっそく3人で過去問を75分でやってみました。 結果はProblem 250だけ正解、Problem 500はSystem Checkで2秒制限アウト、Problem …

Project Euler 303

正の整数 n に対し, f(n) を, n の倍数であり 10 進数で表すと 2 以下の数字のみが用いられる最小の数と定義する.ゆえに, f(2)=2, f(3)=12, f(7)=21, f(42)=210, f(89)=1121222 である.また, である. を求めよ. #pragma comment(lib,"mpir.lib") #include <iostream> #</iostream>…

Project Euler 79

オンラインバンクで通常使われるsecurity methodは, パスコードからランダムに選んだ3文字をユーザーに要求するものである. たとえば, パスコードが531278のとき, 2番目, 3番目, 5番目の文字を要求されるかもしれない. このとき, 期待される答えは: 317 であ…

Project Euler 55

47とその反転を足し合わせると, 47 + 74 = 121となり, 回文数になる. 全ての数が素早く回文数になるわけではない. 349を考えよう, 349 + 943 = 1292, 1292 + 2921 = 4213 4213 + 3124 = 7337 349は, 3回の操作を経て回文数になる. まだ証明はされていないが,…

Project Euler 97

100万桁を超える初めての素数は1999年に発見された. これはメルセンヌ素数であり, 2^6972593-1 である. 実際, 2,098,960桁ある. それ以降も, より多くの桁になるメルセンヌ素数 (2^p-1の形の数) が他にも発見されている. しかし, 2004年に, 非常に大きな非メ…

Project Euler 56

Googol (10^100)は非常に大きな数である: 1の後に0が100個続く. 100^100は想像を絶する. 1の後に0が200回続く. その大きさにも関わらず, 両者とも桁の和は1である. a, b < 100について自然数a^bを考える. 桁の和の最大を答えよ. C/C++ #pragma comment(lib,"…

Project Euler 53

12345から3つ選ぶ選び方は10通りである. 123, 124, 125, 134, 135, 145, 234, 235, 245, 345. 組み合わせでは, 以下の記法を用いてこのことを表す: 5_C_3 = 10. 一般に, r &#8804; n についてn_C_r = n!/(r!(n-r)!) である. ここで, n! = n×(n−1)×...×3×2×1,…