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

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

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

Входные данные

В двух строках входных данных содержатся натуральные числа x и y — количество краски у Пети и Васи соответственно.

Все числа не превышают 1000.

Выходные данные

Если выгоднее будет отдать всю краску Васе, то выведите на экран "Petya gives paint to Vasya".

Если выгоднее оставить краску у Пети, то выведите на экран "Petya leaves paint to himself".

Если расход краски в обоих случаях одинаков, то выведите "Equal".

Пояснения к тестам

В первом тесте, если Петя оставит краску у себя, то Петя и Вася смогут закрасить по плитке стороной 3 метра и потратить 18 граммов краски. Если же Петя отдаст краску Васе, то Вася закрасит плитку стороной 4 метра и потратит 16 граммов краски.
Во втором тесте независимо от стратегии Пети получится потратить 25 граммов краски.
В третьем тесте Пете выгоднее отдать краску Васе, в этом случае получится потратить 16 граммов краски (вместо 13 в противном случае).
Примеры
Ввод
Вывод
10
10
Petya leaves paint to himself
10
20
Equal
10
7
Petya gives paint to Vasya

Показать ответ
Ответ:
naaaaaayli
naaaaaayli
05.05.2021 12:36

#include <iostream>  

#include<vector>  

using namespace std;

 

int square(int x){  

for (int i = 1; i <= 45; ++i){  

if (i * i <= x){  

continue;  

}  

return (i - 1) * (i - 1);  

}  

}  

int main()  

{  

int x, y, xwas, ywas, xywas;  

cin >> x >> y;  

xwas = square(x);  

ywas = square(y);  

xywas = square(x + y);  

if (xwas + ywas < xywas){  

cout << "Petya gives paint to Vasya";  

}  

else if (xwas + ywas == xywas){  

cout << "Equal";  

}  

else {  

cout << "Petya leaves paint to himself";  

}  

return 0;  

}

Объяснение:

Решение не моё, но вдруг понадобиться)

0,0(0 оценок)
Ответ:
Zhanaevakasiet
Zhanaevakasiet
05.05.2021 12:36

Объяснение:

#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-бота