404 motivation not found | t_ishidaのブログ

12月/07

15

どう書く?

最大公約数のやつ

Javascriptで、BigIntegerに対応する方法を考えるのが面倒になって断念。

var $ = fib(10);
say( gcd( $[0], $[1] ) );
function d( a, b ){
for( var cnt = 0; a >= b && a >= 0; cnt++ ) a-=b;
return [ cnt, a ];
}
function gcd( a, b ){
for( var x= a > b ? a : b; x >= 0 && d( a, x )[1] + d( b, x )[1]; x-- ){}
return x;
}
function fib(lim){
for( var i = 0, a = 1, b = 1, x = 1; i < lim; i++ ){ x = a; a = b; b += x; }
return [ a, b ];
}

(数値を分割して、ミリミリやる以外で)上手い方法を知っている人、情報を求む。

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

RSS Feed

コメントはまだありません。

Leave a comment!

<< PHPと言う言語に過去、数回触れた事がある。

Sex.pm >>

Find it!

Theme Design by devolux.org

Tag Cloud