ナベアツ
力試しにナベアツのような判定をするプログラムを作ろうとしたところ、問題が発生しました。
http://q.hatena.ne.jp/1207585413
3の倍数や5の倍数は考えるまでもないんですが、3のつく数字をどう判定したらいいのかわかりません。
どのように判定させればよいのでしょうか?
黙ってコードを書こう。
javascript:
(function(){ function na(n) { return /3/.test(n) || /0$/.test(n.toString(3)); } alert(na(111)); })()
なかなか「アホっぽく」ていいんじゃないでしょうか?
- -
3の倍数の方を変則的に書きたくて検索したら以下のを見つけました。
【3の倍数】
http://www.nikonet.or.jp/spring/sanae/MathTopic/times/times.htm
各位の数の和が3の倍数であること。
例えば,x=1,456,863→1+4+5+6+8+6+3=33よりxは3の倍数。
100a+10b+c=(99+1)a+(9+1)b+c=3(33a+3b)+(a+b+c)
これはおもしろい!プログラムにしてみます。
javascript:
(function(){ function mul3(n) { var str = n.toString(); var sum = 0; for (var i = 0; i < str.length; i++) { sum += Number(str[i]); } return (sum % 3 == 0); } alert(mul3(1456863)); })()