|
uchinyan |
|
今日も一日忙しく、いまやっと、掲示板を読むことができました。
いろいろな考え方があって面白いです。ただ、やはり、ポイントは、オイラー関数の算数的解釈なのでしょうか。 ひとくんさんの公式は、n の素因数が a, b, c の場合、オイラー関数 φ(n) が、n(1 - 1/a)(1 - 1/b)(1 - 1/c) になることですね。 30 で区切れる話は、オイラー関数が互いに素な数で分解できることに対応していると思います。 なお、#25895ですが、関数を外部関数ではなくて内部関数で定義すれば、DECLARE文は不要です。 また、2, 3, 5 で割れないことをチェックすれば十分なので、GCDがなくてもできますね ^^: 個人的には、素数を見つけるときやるエラストテネスのふるいのように、数字を並べて、2, 3, 5 の倍数を消していって、 残ったものを足す、というのが、単純だし、一番簡単なように思います。 1 + 7 + 11 + 13 + 17 + 19 + 23 + 29 + 31 + 37 + 41 + 43 + 47 + 49 + 53 + 59 + 61 + 67 + 71 + 73 + 77 + 79 + 83 + 89 + 91 + 97 + 101 + 103 + 107 + 109 + 113 + 119 = (1 + 119) + (7 + 113) + (11 + 109) + (13 + 107)+ (17 + 103) + (19 + 101) + (23 + 97) + (29 + 91) + (31 + 87) + (37 + 83) + (41 + 79) + (43 + 77) + (47 + 73) + (49 + 71) + (53 + 67) + (59 + 61) = 120 * 16 = 1920 |
|
ネコの住む家
9月29日(木) 22:22:33
MAIL:uchi@sco.bekkoame.ne.jp 25905 |