整数

最大公約数

リスト処理により,二つの数 m , n の最大公約数を求めます。

m の約数のリストを select() 関数で作ります。

そのそれぞれの要素に対して,nを割りきるものを集め,そのなかの最大値を求めます。

GCM(m,n):=(

yakusu=select(1..m,mod(m,#)==0);

max(select(yakusu,mod(n,#)==0));

);

最小公倍数

二つの数m,n の最大公約数を求めた後,最小公倍数を求めます。

GCM(m,n) は前項で作った関数です。

LCM(m,n):=(

gcm=GCM(m,n);

m*n/gcm;

);

素数

ある数が素数かどうかは,約数の個数が2個以下かどうかで判断できます。

isprime(n):=(

if(length(select(1..n,mod(n,#)==0))==2,true,false);

);

nが素数なら true,そうでなければ false が返ります。

素数のリスト

ある整数のリストから,素数だけを取出したリストを返します。前項の isprime() を使います。

selectprime(list):=(

select(list,isprime(#));

);

素数でない数のリスト

ある整数のリストから,素数でなない数だけを取出したリストを返します。前々項の isprime() を使います。

selectnotprime(list):=(

list--select(list,isprime(#));

);

戻る