GNUのcoreutilsのfactorのメモ

最近適当なことばっかやってます。

coreutils-8.5のソースを落とす。
src/factor.cの439行目の
enum { GMP_TURNOVER_POINT = 100000 };

を、
enum { GMP_TURNOVER_POINT = 10000000000000000000000000000000000000 };

ってするんじゃなくて、int型の最大値の
enum { GMP_TURNOVER_POINT = 32767 };

って書き変える。
./configureしてmakeしてsrcに移動して./factor。
C言語わからない僕でも書き変えられました!!コメント万歳!!

mk2607@2607-lab:~/coreutils-8.5/src$ time ./factor 92786896970971280718601867208163801071902718258175227563815387153716391638197381730163561535145678651186739161956938927
^C

real 20m13.336s
user 20m13.408s
sys 0m0.000s

長いっすなぁ。下9桁を削ったのは、

mk2607@2607-lab:~/coreutils-8.5/src$ time ./factor 92786896970971280718601867208163801071902718258175227563815387153716391638197381730163561535145678651186739161
92786896970971280718601867208163801071902718258175227563815387153716391638197381730163561535145678651186739161: 7 1097 1409 150181103670097 303454000477717 842312886865691 223403198323961330250095285690725550047078207325461156145089

real 0m45.106s
user 0m45.107s
sys 0m0.000s

こんな速くできるのに。

1 コメント:

イクヨクルヨ さんのコメント...

イククルで恋の予感っ!!今話題のイクヨクルヨだからできちゃう出会い…友達を作りたい人や恋人募集中の人などが集まる当サイトで、素敵な恋をSTARTさせませんか?