整数
最大公約数
最大公約数
リスト処理により,二つの数 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(#));
);
<戻る>