radmila85
07.02.2023 02:01

Python Задача: Математики и грибы
(Время: 1 сек. Память: 16 Мб : 100)
Однажды два математика пошли в лес собирать грибы. Час шли, два шли, а потом вдруг остановились и решили выяснить: кто из них набрал грибов больше? Достали они весы (какой же математик пойдет в лес без весов?) и взвесили свои корзины с собранным урожаем, а потом записали полученные числа a1 и b1 на листочек, но этих данных оказалось недостаточно, т.к. массы корзин математиков были им неизвестны. Поэтому второй математик пересыпал все грибы в корзину к первому (полностью опустошив свою корзину), и они снова взвесили свои корзины, получив числа a2 и b2 соответственно. Наконец, первый математик пересыпал все грибы в корзину ко второму (полностью опустошив свою корзину); после взвешивания они получили числа a3 и b3 соответственно. Этих данных оказалось уже достаточно для определения победителя, и довольные математики пошли дальше.

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

Входные данные
Входной файл INPUT.TXT содержит три строки, в каждой из которых располагаются 2 натуральных числа – результаты взвешивания корзин математиков на каждом из этапов соответственно. Известно, что массы корзин при взвешиваниях не превосходили 3∙1018.

Выходные данные
В выходной файл OUTPUT.TXT выведите пару целых чисел через пробел – массы грибов, которые собрал каждый из математиков соответственно.

в чем моя ошибка :

a, b = map(int, input(). split())
print( a[0]-a[2], b[0]-b[1] )

пишет что слишком долго...​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
xuimorjovi
29.08.2020 13:57
1) Выводит 2
2)
var
    N: longint;
    digit, maxdigit: integer;

begin
    readln(N);
    maxdigit := 10; // нужно присваивать 0
    while N > 10 do // нужно написать N > 0
    begin
        digit := N mod 10;
        if digit > maxdigit then
            maxdigit := digit;
        N := N div 10;
    end;
    writeln(digit); // нужно вывести maxdigit
end.

Верный код

var
    N: longint;
    digit, maxdigit: integer;

begin
    readln(N);
    maxdigit := 0;
    while N > 0 do
    begin
        digit := N mod 10;
        if digit > maxdigit then
            maxdigit := digit;
        N := N div 10;
    end;
    writeln(maxdigit);
end.

Требовалось написать программу при выполнении которой с клавиатуры считывается натуральное число n,
0,0(0 оценок)
Ответ:
amina24569
29.08.2020 13:57
1) При вводе числа 256 программа выведет 3, т.к.
ввели n=256
n>0 ? - да, значит дальше идёт блок из цикла, и будет он повторятся до тех пор пока n будет >0.
d:=256 mod 10
d:=6, т.к. mod берёт остаток от деления.
n:=256 div 10
n:=25, т.к. div делит нацело и остаток не берёт.
sum:=sum+1;
sum:=1;

цикл первый раз закончился и опять проверяется условие n>0, если да, то опять запускает цикл. n:=25>0
d:=25 mod 10
d:=5
n:=25 div 10
n:=2
sum:=1+1
sum:=2;

опять закончился цикл и проверяется условие n>0, n:=2>0
d:=2 mod 10;
d:=2;
n:=2 div 10
n:=0
sum:=2+1;
sum:=3;

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