Форум » Циклы и ветвления » Задача 5054 » Ответить

Задача 5054

shervlad: Добрый день! Ответ к задаче указан 1099. Но при значении, например, 1061, программа так же выдает K1 = 314, K2 = 470. Вот мой код: [pre2] 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 [/pre2] Помогите, пожалуйста, найти ошибку, если она у меня есть.

Ответов - 2

Фирсов М.: У вас не должны учитываться те случаи когда прога уходит в бесконечный цикл. Если у вас пошло мимо условия, то переходите к следующему i [pre2]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 [/pre2]

shervlad: Фирсов М. пишет: У вас не должны учитываться те случаи когда прога уходит в бесконечный цикл. Если у вас пошло мимо условия, то переходите к следующему i Благодарю за помощь, разобрались!



полная версия страницы