М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Daria2316
Daria2316
16.05.2023 20:20 •  Информатика

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

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

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

👇
Ответ:
AliceMysova
AliceMysova
16.05.2023

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

}

Объяснение:

4,8(48 оценок)
Открыть все ответы
Ответ:
Shkola17032004
Shkola17032004
16.05.2023

n - входной параметр программы. нужно посчитать сколько действий выполняет программа в зависимости от n.

Например, если программа выполняет ограниченное количество действий - вне зависимости от n она будет считаться конечное время. А если есть какие-нибудь циклы - время выполнения программы будет расти в зависимости от параметра.

 

пример 1: программа вычисления площади квадрата по его стороне.

два действия - перемножить два числа и вывести результат. F(n) = 2;

 

пример 2: программа вычисления факториала:

присваиваем результату 1

сравниваем n<2.

если верно - печатаем результат и выходим

иначе результат := результат * n

    n:=n-1

и снова на сравнение

 

здесь F(n) = 1{начальное присвоение} + 3(n-1){сравнение и присвоения в цикле, который выполняется n-1 раза} + 1 {вывод результата} = 3n - 1

т.е время работы программы линейно возрастает при увеличении n

4,4(21 оценок)
Ответ:
MikasaHasegava
MikasaHasegava
16.05.2023
ответ:  17

// delete.cpp: определяет точку входа для консольного приложения.//
#include "stdafx.h"#include "iostream"#include <conio.h>
using namespace std;
int count_ = 0;
char m[6][6] = { {'S', '.', '.', '.', '#', '#'}, { '#', '.', '#', '.', '.', '.' }, { '.', '.', '#', '.', '.', '#' }, { '.', '.', '#', '#', '#', '.' }, { '#', '.', '.', '.', '#', '#' }, { '#', '#', '#', '.', '.', 'F' }};
int find_p(int x, int y) { if (x < 0 || x > 5 || y < 0 || y > 5) return 0; if (m[y][x] == 'F') return 1; if (m[y][x] != '.' && m[y][x] != 'S') return 0; m[y][x] = '+'; count_++; if (find_p(x, y - 1)) return 1; if (find_p(x + 1, y)) return 1; if (find_p(x, y + 1)) return 1; if (find_p(x - 1, y)) return 1; m[y][x] = 'x'; return 0;}

int main(){ find_p(0, 0); cout << count_; //вывод _getch(); // задержка    return 0;}
4,6(28 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ