Задача №2 800*600*16 (16 бит на пиксель это 65 536 цветов)=7680000 - бит информационный вес одного поля кадра. Допустим частота обновления экрана монитора 60 Гц, тогда 7680000*60 (Гц)=460800000 бит в секунду * 60 (секунд)= 27648000000 бит - информационная емкость потока фильма в течении 1 минуты. Постичаем в байтах 27648000000/8/1024/1024/1024=3.2186 Гигабайт - объём информационного потока Задача №3 за одну секунду пройдет 36 мегабайт 2 часа = 7200 секунд *36=259200 мегабайт=253.12 Гбайт Подробнее - на -
На интервале с левой границей 500 первое число, кратное 13, равно 507, а первое число, кратное 17, равно 510. Числа, кратные 13, образуют последовательность 507, 520, 533, ..., а числа, кратные 17, образуют последовательность 510, 527, 544, ... Для решения задачи достаточно объединить эти последовательности в одну, упорядоченную по возрастанию и взять первых 20 её членов.
Как получить 507 и 510? Первое число m, не меньшее некоторого k и кратное n определяется по простому алгоритму. Пусть p = k mod n - остаток от целочисленного деления k на n. Если p=0, то m=k, в противном случае m=k+n-p. Проверим для k=500, n=13. p = 500 mod 13 = 6. p≠0 ⇒ m = 500+13-6 = 507.
Поскольку 17>13, в последовательности чисел, кратных 17, их не может быть больше половины искомого количества, т.е. больше 20/2=10. А десятый член последовательности 510, 257, ... это 510+9×17 = 663. Тем более, это значение не может быть превышено в последовательности чисел, кратных 13, их там будет (663-507)/13=12.
Окончательно: строим последовательности из 12 чисел ряда 507, 520, 533... и 10 чисел ряда 510, 527, 544, ... объединяем их в последовательность, упорядоченную по возрастанию и берем 20 первых ее членов.
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018 Внимание! Если программа не работает, обновите версию!
begin (SeqGen(12,507,t->t+13)+SeqGen(10,510,t->t+17)).OrderBy(t->t) .Distinct.Take(20).Println end.
800*600*16 (16 бит на пиксель это 65 536 цветов)=7680000 - бит информационный вес одного поля кадра.
Допустим частота обновления экрана монитора 60 Гц, тогда
7680000*60 (Гц)=460800000 бит в секунду * 60 (секунд)= 27648000000 бит - информационная емкость потока фильма в течении 1 минуты.
Постичаем в байтах
27648000000/8/1024/1024/1024=3.2186 Гигабайт - объём информационного потока
Задача №3
за одну секунду пройдет 36 мегабайт
2 часа = 7200 секунд *36=259200 мегабайт=253.12 Гбайт
Подробнее - на -
Как получить 507 и 510? Первое число m, не меньшее некоторого k и кратное n определяется по простому алгоритму. Пусть p = k mod n - остаток от целочисленного деления k на n. Если p=0, то m=k, в противном случае m=k+n-p.
Проверим для k=500, n=13.
p = 500 mod 13 = 6. p≠0 ⇒ m = 500+13-6 = 507.
Поскольку 17>13, в последовательности чисел, кратных 17, их не может быть больше половины искомого количества, т.е. больше 20/2=10. А десятый член последовательности 510, 257, ... это 510+9×17 = 663. Тем более, это значение не может быть превышено в последовательности чисел, кратных 13, их там будет (663-507)/13=12.
Окончательно: строим последовательности из 12 чисел ряда 507, 520, 533... и 10 чисел ряда 510, 527, 544, ... объединяем их в последовательность, упорядоченную по возрастанию и берем 20 первых ее членов.
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!
begin
(SeqGen(12,507,t->t+13)+SeqGen(10,510,t->t+17)).OrderBy(t->t)
.Distinct.Take(20).Println
end.
Результат
507 510 520 527 533 544 546 559 561 572 578 585 595 598 611 612 624 629 637 646