2017-09-07 7 views
0

の自然数r(この例では2)に対して、自然数x1..xn、 のリスト、および自然数のリストq1..qm(n、m≧0)は、 ではない、[xi - r、xi + r]の間の自然数のリストである長さnのリストを返す を返すq1..qmのいずれかの数字。SMLリストから割り切れない数を見つける関数を作成する

- N 2 [25, 50, 90, 11] [2,3,7]; val it = [[23,25] , [] , [89] , [11, 13]] : int list list

+1

をStackOverflowのは、クラスの割り当てを解決するための市場ではありません。いくつかの助けを得るために、問題にいくつかの作業を加える必要があります。ここで問題のステートメントをコピーして貼り付けることは、まったく役に立たないでしょう。誰も敬意を払わずに、他の人の仕事を無料で行うことを好む人はいません。 –

+5

要するに、あなたが試したことを私たちに教えてください。 –

答えて

0

次のように関数を定義することができます。与えられた例

fun divisible (q::qs, x) = if (x mod q = 0) then true else divisible(qs, x) 
    | divisible (nil, x) = false; 


fun N r xs qs = let 
    val cs = map(fn x => List.tabulate(1+2*r, fn y => x + y - r))(xs); 
in 
    map(fn bs => List.filter(fn x => not (divisible(qs,x))) (bs))(cs) 
end; 

をそれは与える:

- N 2 [25, 50, 90, 11] [2,3,7]; 
val it = [[23,25],[],[89],[11,13]] : int list list 
関連する問題