В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Dimafdj
Dimafdj
20.01.2023 05:23 •  Информатика

Две минуты стереозаписи занимают на диске 1,3 Мб, количество уровней кодирования звука 8. С какой частотой дискретизации записан звук? ответ переведите в килоГерцы и округлите до целых.

Показать ответ
Ответ:
evdhsd13
evdhsd13
22.11.2022 13:10

Первая - прямой перебор, но хорошо оптимизированный: с целочисленным вычислением корня для короткой схемы на квадратах. У меня на компьютере работает впритык, за 2.8 для 100k. Если бы не питон - укладывалось бы, но лень переписывать. На тестовом сервере скорее всего не уложится в таймлимит, просто для информации, что так тоже можно:

def prime_count(N):

   primes = [2, 3]

   i, s, s2 = 5, 3, 9

   while len(primes) < N:

       while s2 <= i:

           s += 1

           s2 = s*s

       flag = True

       for p in primes:

           if p > s+1:

               break

           if i % p == 0:

               flag = False

               break

       if flag:

           primes.append(i)

       i += 2

   return primes[N-1]

print(prime_count(int(input(

Вторая: обычное решето Эратосфена. Сравни, насколько короче получилось =) Число 13 выведено эмпирически, для K<=100000 оно подходит, но потом будет маленьким. В общем случае там должна стоять величина log2(N) с каким-то множителем по теореме о плотности простых чисел. Для 100k работает раз в 15 быстрее, так что в лимит уложится точно:

def eratosthenes(N):

   i, numbers = 0, [True] * (13 * N)

   for index in range(N):

       while not numbers[i]: i += 1

       numbers[i::i+2] = [False] * len(numbers[i::i+2])

   return i+2

print(eratosthenes(int(input(

0,0(0 оценок)
Ответ:
Rafaila111
Rafaila111
22.10.2020 12:48

(см. объяснение)

Объяснение:

Решим задачу с Python 3:

k = 0

for x1 in range(2):

   for x2 in range(2):

       for x3 in range(2):

           for x4 in range(2):

               for x5 in range(2):

                   for x6 in range(2):

                       for x7 in range(2):

                           for x8 in range(2):

                               for x9 in range(2):

                                   for x10 in range(2):

                                       if (((x1 == x2) and (x3 == x4)) or (

                                               not (x1 == x2) and not (x3 == x4)) == 0) and (

                                               ((x3 == x4) and (x5 == x6)) or (

                                               not (x3 == x4) and not (x5 == x6)) == 0) and (

                                               ((x5 == x6) and (x7 == x8)) or (

                                               not (x5 == x6) and not (x7 == x8)) == 0) and (

                                               ((x7 == x8) and (x9 == x10)) or (

                                               not (x7 == x8) and not (x9 == x10)) == 0):

                                           k += 1

print(k)

Результат работы программы: 416.

Задание выполнено!

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота