произведение меньше n. Python, питон

Программа запрашивает натуральное число n. Необходимо составить программу, которая будет считывать целые числа до тех пор, пока их произведение не станет не меньше n. Выведите через пробел количество введенных чисел и их произведение.

n = int(input())
#s = int(input())
m = 1
c = 0
while m < n:
    s = int(input())
    c += 1
    m *= s
print(c, m)

ответы выводит правильно, но не проходит проверку. Говорит:

[+] Test #1. OK
[+] Test #2. OK
[ ] Test #3. Wrong answer
[+] Test #4. OK
[+] Test #5. OK

4 of 5 test(s) passed.

подскажите, в чем может быть проблема.


Ответы (1 шт):

Автор решения: Zhihar
n = int(input())
m = 1
while m < n:

как вы думаете, что выведет программа, если ввести n = 0 или отрицательное?

лучше уж так:

n = int(input())

c = 0
m = 1

while True:
    s = int(input())
    c += 1
    m *= s
    
    if n < m:
        break
    
print(c, m)

кроме того у вас в условии написано "до тех пор, пока их произведение не станет не меньше n", а проверка сделана как

while m < n:

а если m = n?

правильнее было бы

while m <= n:

Но все равно все упирается в самое первое возражение

→ Ссылка