maksatkuliyev4
08.01.2021 03:57

НА С++
На завод!
У Пети есть X граммов краски, а у Васи — Y граммов краски. Одного грамма краски хватает, чтобы покрасить плитку 1×1. На заводе есть неограниченное количество квадратных плиток любых размеров. Петя выберет максимальную плитку, на которую у него хватит краски. Вася поступит аналогично. Таня работает в плановом отделе, и в её интересах сделать так, чтобы суммарно было потрачено как можно больше краски. Поэтому Таня интересуется: а что если Петя отдаст всю свою краску Васе? Получится ли тогда потратить больше краски или нет?

В данной задаче запрещено использовать функцию sqrt, а также операцию возведения в степень.

Примеры
Ввод
10
10
Вывод
Petya leaves paint to himself

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
бахтылбек
06.05.2021 22:14

#include <iostream>

unsigned perfectSquareLessOrEqual(unsigned n) {

unsigned sum = 0;

for (unsigned i = 1; (sum + i) <= n; i += 2)

sum += i;

return sum;

}

int main() {

unsigned x, y;

std::cin >> x >> y;

const unsigned a = perfectSquareLessOrEqual(x) + perfectSquareLessOrEqual(y);

const unsigned b = perfectSquareLessOrEqual(x + y);

if (a < b)

std::cout << "Petya gives paint to Vasya";

else if (a > b)

std::cout << "Petya leaves paint to himself";

else

std::cout << "Equal";

return 0;

}

Объяснение:

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