Автор | Сообщение |
|
Отправлено: 11.04.22 13:32. Заголовок: Задача 5054
Добрый день! Ответ к задаче указан 1099. Но при значении, например, 1061, программа так же выдает K1 = 314, K2 = 470. Вот мой код: for i in range(1,10000): s = i P = 29 Q = 11 K1 = 0 K2 = 0 while s != 2520: s = s + P K1 = K1 + 1 if s > 2520: break while s != Q + K1 + K2: s = s - Q K2 = K2 + 1 if s < Q + K1 + K2: break K1 += s K2 += s if K1 == 314 and K2 == 470: print(i) break Помогите, пожалуйста, найти ошибку, если она у меня есть.
|
|
|
Ответов - 2
[только новые]
|
|
|
Отправлено: 11.04.22 19:54. Заголовок: У вас не должны учит..
У вас не должны учитываться те случаи когда прога уходит в бесконечный цикл. Если у вас пошло мимо условия, то переходите к следующему i for i in range(1,10000): s = i P = 29 Q = 11 K1 = 0 K2 = 0 br = False while s != 2520: s = s + P K1 = K1 + 1 if s > 2520: br = True; break while s != Q + K1 + K2: s = s - Q K2 = K2 + 1 if s < Q + K1 + K2: br = True; break if br: continue K1 += s K2 += s if K1 == 314 and K2 == 470: print(i) break
|
|
|
|
Отправлено: 12.04.22 05:54. Заголовок: Так у меня в програм..
Фирсов М. пишет: цитата: | У вас не должны учитываться те случаи когда прога уходит в бесконечный цикл. Если у вас пошло мимо условия, то переходите к следующему i |
| Благодарю за помощь, разобрались!
|
|
|
|