C++ На завод! У Пети есть X граммов краски, а у Васи — Y граммов краски. Одного грамма краски хватает, чтобы покрасить плитку 1×1. На заводе есть неограниченное количество квадратных плиток любых размеров. Петя выберет максимальную плитку, на которую у него хватит краски. Вася поступит аналогично. Таня работает в плановом отделе, и в её интересах сделать так, чтобы суммарно было потрачено как можно больше краски. Поэтому Таня интересуется: а что если Петя отдаст всю свою краску Васе? Получится ли тогда потратить больше краски или нет?
В данной задаче запрещено использовать функцию sqrt, а также операцию возведения в степень.
Входные данные
В двух строках входных данных содержатся натуральные числа x и y — количество краски у Пети и Васи соответственно.
Все числа не превышают 1000.
#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>
#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;
}
Объяснение: