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

Решить по python наш старый знакомый василий, по прежнему работает на почте начальником отдела автоматизации. под его руководством было разработано множество нововведений, обработку почты. теперь каждая посылка имеет свой уникальный номер, в котором закодированы важные данные о ней. василию пришла новая : доработать “сортировщик посылок” так, чтобы он считал количество посылок внутри россии, а также количество отправленных в европу. страна назначения закодирована в последних двух цифрах посылки. 77 - россия. цифры от 20 до 40 включительно - города европы. остальные коды нас не интересуют. напишите программное обеспечение, для реализации данной .

Показать ответ
Ответ:
Dashka2005Dashka2005
Dashka2005Dashka2005
24.12.2020 09:15

Создадим список a. В a[k] будем хранить количество различных программ, по которым Калькулятор может получить из 2 число k.

При небольших k зададим значения вручную: a[0] = a[1] = 0; a[2] = 1 (для k = 2 удобно считать, что есть одна программа - пустая).

Для k > 2 можно вычислять a[k] так: a[k] = a[k - 1] + a[k/2] * {k - полный квадрат} + a[sqrt(k)] * {k - полный квадрат}. Здесь {P} - 1, если P верно, и 0, если ложно.

По описанию программа составляется просто (версия питона 3.8, в ней появилась функция isqrt, если у вас python3, но версия меньше 3.8, можете округлить корень для ближайшего целого):

from math import isqrt

a = [0] * 39

a[2] = 1

for k in range(3, 39):

 a[k] = a[k - 1]

 if k % 2 == 0:

   a[k] += a[k // 2]

 t = isqrt(k)

 if t ** 2 == k:

   a[k] += a[t]

 print(f"{k:3} {a[k]:5}")

Программа выводит все промежуточные ответы и a[38]

0,0(0 оценок)
Ответ:
Boikomariana12
Boikomariana12
22.03.2020 05:15
11!

int sum = 0; // периметр

int question;

if(count==3)

{

cout << "Предположение: Это квадрат? 1 если да и 0 если нет: ";

cin >> question;

if(question!=1)

{

cout << "Вводите стороны по очереди: " << endl;

int a[count]; // стороны в массиве

for(int i = 0; i<=count; i++)

{

cin >> a[i];

sum += a[i];

}

}

else

{

cout << "Введите одну сторону квадрата: ";

cin >> kvadrat;

sum=4*kvadrat;

}

}

else

{

cout << "Вводите стороны по очереди: " << endl;

int a[count]; // стороны в массиве

for(int i = 0; i<=count; i++)

{

cin >> a[i];

sum += a[i];

}

}

cout << "Итого, P = " << sum;

}

Объяснение:

Доп. функция: если 4 стороны, то спрашивает квадрат ли это

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