K1 = int(input())
M = int(input())
K2 = int(input())
P2 = int(input())
N2 = int(input())
if M != 1:
for i in range(1,1000):
if i!=0 and N2==((K2-1)//i)+1:
P1 = (((K1-1)//i)//(M-1))+1
N1=(((K1-1)//i)%(M-1))
if M == 1:
N1 = 1
for i in range(1,1000):
if i!=0:
while K1 % i != 0:
K1 = K1 + 1
P1 = (K1//i)
if K2 < P2 * N2 or N2 > M or K2 // P2 < M:
P1 = -1
N1 = -1
if P2 == 1 and N2 == 1:
P1 = -1
print(P1, N1)
Объяснение:
Поделитесь своими знаниями, ответьте на вопрос:
Почему в вегас про 13 не открывает видео снятые на обс хотя обс стоит формат mp4?
Что это за дикий п***ец? Даже названия классов, функций непонятно какие, про ввод значений вообще молчу.
А ответ программа не выводит потому что нарушена логика вызова функций. А нарушена по нескольким причинам. Первая - полное непонимания того, что автор пишет, непонимания ООП, что куда возвращается и т.д. Вторая - несоответствие возвращаемых значений назначению функции. Почему функция Vvod() возвращает сумму введенных чисел? Это создает путаницу, она должна возвращать сами числа. Стоит почитать книги про написанию кода, например "Совершенный код", что бы понимать базовые правила. Одна функция - одна задача.
Конкретно в данном случае нужно в мейне вызвать только Console.WriteLine(Vivod()), т.е. отображение возвращаемого значения функции Vivod(), т.к. к ней уже будет вызвана Summa(), а в ней и Vvod().
Ну а вообще - надо по полной переделывать, а то проверяющему будет больно(ментально), тем более сумма 5 веденных чисел находится за 4 строчки кода:
int sum = 0;
for (int i = 1; i < 6; i++){
Console.WriteLine($"Введите {i}-ий эмемент:");
sum += int.Parse(Console.ReadLine()); }
Console.WriteLine($"Сумма равна {sum}");
P.S. Это лабораторная по массивам? Но ты массивы даже в своем решении не используешь.