
Срочно!!! На С++ Дам 10 баллов!! На завод! У Пети есть 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

Ответы на вопрос

Ответ:
#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;
}
Объяснение:



Ответ:
Объяснение:
#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;
}



cpp#include <iostream>
int main() {
int x, y;
std::cin >> x >> y;
int max_side_petya = 0;
int max_side_vasya = 0;
for (int i = 1; i <= x; ++i) {
if (x % i == 0) {
max_side_petya = i;
}
}
for (int i = 1; i <= y; ++i) {
if (y % i == 0) {
max_side_vasya = i;
}
}
if (max_side_petya * max_side_vasya >= x + y) {
std::cout << "Petya leaves paint to himself";
} else if (max_side_petya * max_side_vasya < x + y) {
std::cout << "Petya gives paint to Vasya";
} else {
std::cout << "Equal";
}
return 0;
}


Похожие вопросы
Топ вопросов за вчера в категории Информатика







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