Задание:
Сколько чисел в натуральном ряду от 1 до 100000, которые не делятся на числа 2,3,5,7,11,13 и на простое число с номером 11+1 среди простых чисел внатуральном ряду
Решение:
Ответ 18662 Реализация на Haskell divisors n=[x | x <- [1… (n — 1) ], rem n x=0]primes=[n | n <- [1… ], isPrime n] where isPrime x=(divisors x=[1]) prime=last $ take (11+1) primescalc: Integer->Integer->Integercalc x sm | x>100000=smcalc x sm | (x `mod` 2 /=0 & & x `mod` 3 /=0 & & x `mod` 5 /=0 & & x `mod` 7 /=0 & & x `mod` 11 /=0 & & x `mod` 13 /=0 & & x `mod` prime /=0)=calc (x+1) (sm+1) | otherwise=calc (x+1) smmain: IO () main=putStrLn $ show $ calc 1 0
Знаете другой ответ?