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

Даны числа a, b, c, d. Выведите в порядке возрастания все целые числа от 0 до 1000, которые являются корнями уравнения a∗x3+b∗x2+c∗x+d=0. Входные данные
Вводятся целые числа a, b, c и d. Все числа не превосходят по модулю 30000.
Выходные данные
Выведите ответ на задачу. Если в указанном промежутке нет корней уравнения, то ничего выводить не нужно.

#include
#include
using namespace std;

int main()
{
int a, b, c, d, i;
cin >> a >> b >> c >> d;
for (i = 0; i <= 1000; i += 1)
{
if ((a * pow(i,3)) + (b * pow(i, 2)) + (c * i) + d == 0)
{
cout << i;
}
}
}
Что не так с кодом?

Показать ответ
Ответ:
Aylar06
Aylar06
04.06.2022 17:37
Const
  n = 10;

var
  a: array [1..n, 1..n] of integer;
  i, j, min: integer;

begin
  Randomize;
  Writeln('*** Исходная матрица ***');
  for i := 1 to n do
  begin
    for j := 1 to n do
    begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end;
    Writeln
  end;
  { Собственно, замена }
  for i := 1 to n do
  begin
    min := 32767;
    for j := 1 to n do
      if min > a[i, j] then min := a[i, j];
    a[i, n - i + 1] := min
  end;
  { Результат }
  Writeln('*** Результирующая матрица ***');
  for i := 1 to n do
  begin
    for j := 1 to n do Write(a[i, j]:4);
    Writeln
  end
end.

Тестовое решение:
*** Исходная матрица ***
  40   7  17 -35  21   2  28   9   6  22
 -18 -10 -26 -21  12   2 -40   7  32 -25
 -40 -34 -40  16  15 -37 -36  40   7  -3
  50 -15 -11  43 -49 -48 -46 -10  48 -31
 -26   3  25  38 -39  14   9 -20  46   7
 -29 -14 -15 -50  39  23  -4 -49   1   7
 -13  39 -49 -42  22  47 -49 -19 -23  10
  -2  21   9  12 -49   8  -8 -27   5 -50
   5  35  44 -50 -25  14 -50 -12 -46 -21
   7 -47  40  -9  33 -15   1  17 -35 -36
*** Результирующая матрица ***
  40   7  17 -35  21   2  28   9   6 -35
 -18 -10 -26 -21  12   2 -40   7 -40 -25
 -40 -34 -40  16  15 -37 -36 -40   7  -3
  50 -15 -11  43 -49 -48 -49 -10  48 -31
 -26   3  25  38 -39 -39   9 -20  46   7
 -29 -14 -15 -50 -50  23  -4 -49   1   7
 -13  39 -49 -49  22  47 -49 -19 -23  10
  -2  21 -50  12 -49   8  -8 -27   5 -50
   5 -50  44 -50 -25  14 -50 -12 -46 -21
 -47 -47  40  -9  33 -15   1  17 -35 -36
0,0(0 оценок)
Ответ:
LiveRiot
LiveRiot
30.04.2022 19:02
Наивные
- загадываем число. Прибавляем к нему 7. Отнимаем загаданное число.
x + 7 - x = 7
- загадываем число. Умножаем его на 7. Делим на загаданное число (не сработает для нуля)
x * 7 / x = 7

Можно немного это замаскировать:
- загадываем число. Умножаем его на 15873. Прибавляем 111111. Делим на 15873. отнимаем загаданное число.
(15873x + 111111)/15873 - x = 7

Можно использовать какой-нибудь фокус, например, складывание сумм цифр до тех пор, пока не получится одно число (т.н. "числовой корень", пример: 255 -> 2 + 5 + 5 = 12 -> 1 + 2 = 3)
- загадываем натуральное число. Умножаем на 9, находим числовой корень. Отнимаем 2.
Разгадка в том, что числовой корень любого числа, делящегося на 9 и не равного нулю, равен 9.

Маскировка:
- загадываем натуральное число. Умножаем на 777 и находим числовой корень. Потом на 666 и находим числовой корень. Прибавляем к результату 666. Находим сумму кубов цифр результата. И еще раз. Смотрим на число сотен результата.
666 делится на 9, так что числовой корень числа (666 * что-то) равен 9. 666 + 9 = 675. 6^3 + 7^3 +5^3 = 684. 6^3 + 8^3 + 4^3 = 792
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота