Julia8546
27.12.2021 23:24

( )Наруто пробрался в логово Орочимару и пытается найти Саске. В логове Орочимару есть T комнат. Каждая дверь в комнату характеризуется количеством печатей n на ней и целочисленными силами печатей a1, a2, ... an. Силы печатей ai не равны нулю и не превосходят 100 по модулю, а n всегда четно. Для того чтобы открыть комнату, Наруто необходимо подобрать такие n печатей с целочисленными силами b1, b2, ..., bn, чтобы a1⋅b1+a2⋅b2+...+an⋅bn=0. Силы печатей Наруто bi также должны быть ненулевыми (как и данные ai) и не превосходить 100 по модулю. Необходимо подобрать печати для всех комнат в логове.

Входные данные
В первой строке задано число T (1≤T≤1000) — количество комнат в логове Орочимару. В следующих строках содержатся описания дверей.

В первой строке описания каждой двери содержится четное число n (2≤n≤100) — количество печатей на двери.

В следующей строке содержится последовательность целых ненулевых чисел a1, a2, ..., an через пробел (|ai|≤100, ai≠0) — силы печатей.

Выходные данные
Для каждой двери на отдельной строке необходимо вывести последовательность ненулевых целых чисел b1, b2, ..., bn (|bi|≤100, bi≠0) через пробел — силы печатей, необходимые для открытия этой двери. Если есть несколько искомых последовательностей, выведите любую из них. Можно доказать, что ответ всегда существует.

Пример
входные данные
2
2
1 100
4
1 2 3 6
выходные данные
-100 1
1 1 1 -1
Примечание
Для первой двери Наруто может использовать силы печатей [−100,1]. Необходимое условие будет выполняться: 1⋅(−100)+100⋅1=0.

Для второй двери Наруто может использовать силы печатей [1,1,1,−1]. Необходимое условие будет выполняться: 1⋅1+2⋅1+3⋅1+6⋅(−1)=0.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Catania2
08.01.2020 07:41

#include <iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "RUS");

   int n, i = 2;

   bool flag = true;

   cout << "Введите число >=2: ";

   cin >> n;

   if (n < 2)

   {

       cout << "Вы ввели число, которое не удовлетворяет условию!" << endl;

   }

   while (i * i <= n) {

       if (n% i == 0)

       {

           cout << i << endl;

           flag = false;

               break;

       }

       i += 1;

       if (flag == true) {

           cout << n << endl;

       }

   }

}

0,0(0 оценок)
Ответ:
KiryaUly
09.12.2022 08:11

В результате работы программы будет выведено 120

Объяснение:

Изначально переменной S присваивается значение 1. Затем, идёт цикл for k:=1 to 5

То есть, цикл выполнится столько раз, пока k не будет равно 5

Поясню заранее: итерация - повтор (чтобы было понятно, что за слова я пишу)

1) Первая итерация (k = 1)

s := s * 1 = 1 * 1 = 1

2) Вторая итерация (k = 2)

s := s *2 = 1 * 2 = 2

3) Третья итерация (k = 3)

s := s * 3 = 2 * 3 = 6

4) Четвертая итерация (k = 4)

s := s * 4 = 6 * 4 = 24

5) Последняя итерация (k = 5)

s := s * 5 = 24 * 5 = 120

Больше итераций не будет, т.к. мы дошли до того, что k = 5 (это же нам и требовалось)

В конце выведется последнее значение s, то есть, 120

Впрниципе, подробнее объяснения я придумать не смог

Надеюсь . Удачи!

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота