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

КОД НА С++. Неверный ответ удалю!! Как можно быстрее

Диофантово уравнение
Даны натуральные числа a, b, c. Если уравнение ax+by=c имеет решения в целых числах, то выберите то решение, в котором число x имеет наименьшее неотрицательное значение, и выведите это решение (два числа x и y через один пробел). Если решения не существует, то выведите −1.

Входные данные

Входные данные — натуральные числа a, b и c. Числа заданы на одной строке через пробел и не превышают 109.

Выходные данные

Выведите ответ на задачу.

Примеры
Ввод 1
1 2 3
Вывод
1 1
Ввод 2
2 2 2
Вывод
0 1

Показать ответ
Ответ:
liya20042812
liya20042812
01.08.2020 07:08

Объяснение:

рлллолшчллы пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук пук тра3 я не знаю почему у тебя так же когда ты один ты постоянно пишешь звонишь хотя бы тоже поела и все больше ничего я не знаю почему у тебя р от меня надо было с 33333месяцев Тогда и 44беседовать

0,0(0 оценок)
Ответ:
Alinochka1mimimi
Alinochka1mimimi
15.06.2022 13:08
Выполняя алгоритм, получаем следующий результат (15 итераций)

1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190  -> 4095
5. 0..4094  -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001

Если лень перебирать вручную, можно воспользоваться программой

var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
  begin
  writeln(k,' ',l,' ',r,' ',x);
  k := k + 1;
  if f < x then r := x - 1
    else l := x + 1;
  x := (l + r) div 2
  end;
writeln(k,' ',l,' ',r,' ',x);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота