kate281078
?>

Впрограмме паскаль нужно ввести высоту и ширину стены, также ввести стоимость длину и ширину обоев. вывести сколько рулонов потребуется на одну стену. и в этой же программе вывести сколько будет стоить столько рулонов.

Информатика

Ответы

mail9

program pr1;

var

a1,b1,a2,b2,k,c,s1,s2,sum: ineger;

begin

//

// тут ввод даных a1,b1 - стена; a2,b2 - обои; c- цена за 1 рулон, sum-сума;

// 

k: =1;

s1: =a1*b1;

s2: =a2*b2;

while s2< s1 do begin

s2: =s2*k;

k: =k+1;

end;

sum: =c*k;

writeln(k,sum);

end.

//как то так!

 

red-sun2

import array

spisok = array.array('I')  # Массив положительных чисел.

for i in range(int(input())):

   if not len([0 for z in range(1, i + 1) if not i % z]) % 2: spisok.append(i)

   # not len(...) % 2 тоже что и len(...) % 2 == 0, но быстрее в 2 раза.

   # [0 for z in ...] поскольку z нам не нужен, нам нужна лишь длина, я заменил его 0-ом.

print(len(spisok))

Или

Есть , ускорить код в 20 раз, cython.

from cpython.array cimport array

n = int(input()) + 1

spisok = array('I')

cdef unsigned int i, z

for i in range(n):

   if not len([0 for z in range(1, i + 1) if not i % z]) % 2: spisok.append(i)

print(len(spisok))

Сохранишь этот код в файл с расширением pyx (например my_file.pyx)

В консоли введёшь команду:

pip install cython  # библиотека

cythonize -i my_file.pyx || py -m cythonize -i main.pyx

И создай любой .py файл, добавь туда import того файла:

import my_file

Yelena_Yuliya1847

Дано:

$\mbox{\mathversion{bold} \displaystyle N=107}  символов (мощность (размер) алфавита)

$\mbox{\mathversion{bold} \displaystyle K=15 }  символов (длина сообщения)

Найти:  $\mbox{\mathversion{bold} \displaystyle I }  (информац.объём сообщения, кол-во информации в нём)

Находим количество информации в одном символе.

По сути, это минимальное количество двоичных разрядов, в котором можно хранить один символ нашего алфавита.

Выбирается оно из таблицы степеней двойки (первое значение, не меньшее, чем наше $\mbox{\mathversion{bold} \displaystyle N }), либо через формулу  $\mbox{\mathversion{bold} \displaystyle N=2^{\,i} } (подбирая минимальное подходящее $\mbox{\mathversion{bold} \displaystyle i }, либо решая уравнение через нахождение двоичного логарифма и затем округляя всегда с избытком, вверх).

Пример подбора:

если $\mbox{\mathversion{bold} \displaystyle i=6 }, то  $\mbox{\mathversion{bold} \displaystyle N=2^{\,6}=64 }  (алфавит из 64 символов можно хранить; для нас мало, надо минимум 107)

если $\mbox{\mathversion{bold} \displaystyle i=7 }, то  $\mbox{\mathversion{bold} \displaystyle N=2^{\,7}=128 }  (алфавит из 128 символов можно хранить; для нас достаточно, это даже больше, чем наши 107 символов в алфавите)

Выбираем минимальную подходящую степень= 7  (т.е.  $\mbox{\mathversion{bold} \displaystyle i=7 } бит)

Пример расчёта:

$\mbox{\mathversion{bold} \displaystyle N=2^{\,i} }

$\mbox{\mathversion{bold} \displaystyle 107=2^{\,i} }

отсюда, получаем что:

$\mbox{\mathversion{bold} \displaystyle i=\log_2 107=\frac{\lg 107}{\lg 2}=\frac{\ln 107}{\ln 2}=6{,}741... }

Можно считать одним из трёх : считать сам двоичный логарифм (если логарифм по произвольному основанию есть в вашем калькуляторе- во встроенном в Windows 10, в инженерном виде он есть например), или можно считать отношение десятичных либо натуральных логарифмов (см. дроби в расчёте). Десятичные либо натуральные логарифмы обычно есть в научных калькуляторах.

Получилось дробное значение, значит округляем до целого, но не как обычно, а всегда вверх (то есть, всегда берём целое число, большее чем наш результат). Так округляем потому, что нам нужно получить возможность хранить чуть больше символов, чем есть в нашем алфавите (раз уж ровно 107 не выходит).

Получаем, что:  $\mbox{\mathversion{bold} \displaystyle i=7 } бит

Далее, находим информационный объём сообщения:

$\mbox{\mathversion{bold} \displaystyle I=K\cdot i=15\cdot 7=105 } бит

ответ:  105 бит

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Впрограмме паскаль нужно ввести высоту и ширину стены, также ввести стоимость длину и ширину обоев. вывести сколько рулонов потребуется на одну стену. и в этой же программе вывести сколько будет стоить столько рулонов.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

billl24
алексей_Цуканов
nrostovtseva142
myudanova631
expo3217
darialyagina
d111180
Grishanin
mrilyushchenko6
denspiel
Budanov317
a-zotova
BekturMagometovich189
fakelel
aprelevka