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

Сконтрольной работой по программированию c++ (нужно выполнить 1,2,4,6)

Показать ответ
Ответ:
Łųçů
Łųçů
03.01.2023 17:38
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 оценок)
Ответ:
lisablida
lisablida
05.05.2023 00:09

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