profile
Размещено 4 года назад по предмету Информатика от fkid2006

Срочно!!! На С++ Дам 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

  1. Ответ на вопрос
    Ответ на вопрос дан ilai2541358

    Ответ:

    Объяснение:

    #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;

    }

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.