Сколько чисел в натуральном ряду от 1 до 100000, которые не делятся на числа 2,3,5,7,11,13 и на простое число с номером 11+1 среди простых чисел в натуральном ряду
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) primes
calc :: Integer->Integer->Integer calc x sm | x>100000 = sm calc 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) sm
1. Основная трудность при чтении египетских иероглифов в том, что большинство египтян не имели понимания древнегреческой системы иероглифов. 2. Египтяне использовали значки-определители для того, чтобы лучше было читать. Значки-определители служили для звучаний слов. 3. Потому что само чтение или писание древнегреческих иероглифов было сложно , так как в то время образования было ужасным. 4. Первым, кому удалось расшифровать египетские иероглифы, был французский учёный, Жан-Франсуа Шампольон(1790-1832). Он составил полный список иероглифов и их греческих эквивалентов, создав тем самым основу для перевода всех египетских иероглифических текстов. 5. Основным носителем информации в египте являлись глиняные таблички, папирусные свитки и наскальные надписи. 6. Стебли растения разрезали на полосы, которые переплетали между собой, прессовали и высушивали на солнце. 7. Хранили в глиняных кувшинах и шкатулках.
1) Переводим МБ в байты = (1.5*1024)*1024*8 = 12582912 бит Формула вычисления объема: I = v *t. Следовательно, t = I / t, тогда t = 12582912 / 128000 = 98,304 секунд.
2) Исходя из формулы приведенной в задаче свыше(I= v*t), следует то, что I = 524288 * (4*60) = 125829120 бит. Переведем биты в мегабайты: (125829120/8) / 1024 / 1024 = 15 МБ.
3) Нам уже известна формула, так будем действовать! Для начала найдем вес передаваемого файла в битах : 80 * 128 * 8 = 81920 бит. Находим время: 81920 / 30720 = ~2,6 секунд.
ответ 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) primes
calc :: Integer->Integer->Integer
calc x sm | x>100000 = sm
calc 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) sm
main :: IO ()
main = putStrLn $ show $ calc 1 0