Автор | Сообщение |
|
Отправлено: 13.06.22 13:59. Заголовок: № 5159
zadolbalas = 0 for A in range (1, 1001): p = True for x in range(1, 1000): f = (x%6==0) <= (not(x%14==0)) or (x + A >= 70) and (A % 20==0) if (f==False): p = False break if (p==True): zadolbalas += 1 print(zadolbalas)zadolbalas = 0 for A in range (1, 1001): p = True for x in range(1, 1000): f = (x%6==0) <= (not(x%14==0)) or (x + A >= 70) and (A % 20==0) if (f==False): p = False break if (p==True): zadolbalas += 1 print(zadolbalas)
|
|
|
Ответов - 5
[только новые]
|
|
|
Отправлено: 15.06.22 17:39. Заголовок: я тоже сижу с этим н..
я тоже сижу с этим номером, у меня 80 получается: for a in range(1,1000): flag=1 for x in range(100): f=((x%6==0)<=(x%14!=0))or(x+a>=70)and(a%20==0) if f==0: flag=0 break if flag==1: print(a) break ваша программа находит количество таких чисел А, разве нет?
|
|
|
|
Отправлено: 15.06.22 18:58. Заголовок: paalexovna пишет: f..
paalexovna пишет: В задаче сказано про натуральные числа, а они начинаются с 1. Т.е. цикл должен выглядеть так: for x in range(1, 100):...
|
|
|
|
| Администратор
|
Сообщение: 3596
|
|
Отправлено: 24.06.22 10:25. Заголовок: paalexovna пишет: я..
paalexovna пишет: цитата: | я тоже сижу с этим номером, у меня 80 получается: for a in range(1,1000): flag=1 for x in range(100): f=((x%6==0)<=(x%14!=0))or(x+a>=70)and(a%20==0) if f==0: flag=0 break if flag==1: print(a) break |
|
Нужно так: for x in range(1, 100):
|
|
|
|
Отправлено: 15.06.22 18:49. Заголовок: В этой задаче легче ..
В этой задаче легче решить на бумаге. Заметим, что первая скобка будет ложной при x, кратном 6 и 14 одновременно, т.е. x = 42. Из неравенства можно выразить А: А >= 70 - х, тогда для истинности всего выражения справедливо следующее: А >= 70 - 42 -> A >= 28, а также А должно быть кратно 20, тогда минимальное А при таком условии будет равно 40. При любых других значениях х будет делится либо только на 6 (1->1) == 1, либо только на 14 (0->0) == 1, либо ни на одно из них (0->1) == 1, другими словами (ДЕЛ(x, 6) → ¬ДЕЛ(x, 14)) будет истинно при любых х, кроме х кратных 42 (42, 84 и т.д.). Тогда нужно лишь учесть это значение х в (x + A ≥ 70) ∧ ДЕЛ(A, 20), таким образом найдя минимальное А. Я думаю, что программа просто выбирает значение А, при которых "вторая часть" формулы была бы истинна без учета х. Таким образом получается 80.
|
|
|
|
Отправлено: 15.06.22 18:53. Заголовок: а в ответе 40......
а в ответе 40....
|
|
|
|