11.28.2011

One-liner IsPrime & GCD in C++

C++: 素数判定と最大公約数を求める1行関数

ショートコーディング風。

typedef long long LL;

bool IsPrime(LL x){LL i=1;for(;x%++i&&i*i<=x;);return i*i>x&&x^1;}
LL GCD(LL x,LL y){return y?GCD(y,x%y):x;}

普通のやり方(11文字長い)

bool IsPrime(LL x){for(LL i=2;i*i<=x;++i)if(x%i==0)return false;return x!=1;}

0 件のコメント:

コメントを投稿