М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Лаура2205200
Лаура2205200
03.08.2022 11:38 •  Информатика

Нужен шаблон на python 3 для отправки email с вложением

👇
Открыть все ответы
Ответ:
кирилл2064
кирилл2064
03.08.2022

Общий расчёт делается через двоичный логарифм (его можно заменить делением двух десятичных или натуральных логарифмов) и потом округление до целого числа с избытком (т.е. округляем всегда вверх) обозначается вот такими палочками с выступами сверху ⌈ ⌉ .

Единственный нюанс в том, что это формула для N значений. А тут спрашивается, сколько разрядов нужно для хранения числа 134.

Я так понимаю, что при этом количество значений N = 134 + 1 = 135 (эта единица- учёт того, что есть ещё и нулевое значение, по крайней мере в такой форме хранения целых числел- в виде двоичного числа).

$ i = \lceil \log_2 N \rceil = \lceil \lg N / \lg 2 \rceil = \lceil \ln N / \ln 2 \rceil = \lceil \ln 135 / \ln 2 \rceil = \lceil 7{,}0768... \rceil = 8

Ну, либо можно использовать таблицу степеней двойки, и подобрать по ней такую степень, значение которой равно или чуть больше вашего числа. Опять же, здесь N- это количество значений, которые можно хранить в  i  двоичных разрядов (т.е. тут тоже надо считать и нулевое значение). Например:

i   $N=2^i

1   2

2   4

3   8

4   16

5   32

6   64

7   128    <-- это значение ещё не достаточное (меньше, чем 135)

8   256   <-- а вот это значение минимально необходимое (8 разрядов)

9   512

10   1024

11   2048

12   4096

13   8192

14   16384

15   32768

16   65536

4,4(18 оценок)
Ответ:
Violetta1508mailru
Violetta1508mailru
03.08.2022

Program Pr1;
uses crt;
var fl1,fl2:text;
i,n,v,a,b:integer;
Begin
clrscr;
assign(fl1,'input.txt');
assign(fl2,'output.txt');
reset(fl1);
readln(fl1,n);
v:=0;
for i:=1 to 1000000 do begin
if i>=10 then begin
a:=i div 10;
b:=i mod 10;
if (a mod 2<>0) and (b mod 2<>0) then v:=v{?} 1; {здесь либо пропущен знак либо v1-новая переменная не перечисленная в списке описания переменных}
end
else if i mod 2<>0 then v:=v 1;{здесь тоже самое}
if v=n then break;
end;
rewrite(fl2);
writeln(fl2,v);
close(fl1);
close(fl2);
end.

4,8(55 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ