@asyasb

Какую ошибку допустила в цикле?

1)(А.Н. Носкин) Сколько существует различных комбинаций натуральных значений x и y, при которых истинно выражение
¬( ((x > 1) and ((x + y) ≥ 6)) or (y ≥ 5) )
k=0
while True:
    for x in range (-1000,1000):
        for y in range (-1000, 1000):
            if ( (not( ((x > 1) and ((x + y) >= 6)) or  (y >= 5)))==1 ):
                 k+=1
                 print(k)
  • Вопрос задан
  • 295 просмотров
Решения вопроса 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Зачем там while True?

Почему сравнение с 1 в условии? Вроде как результат сравнения будет True или False.

Вывод, наверно, надо делать после перебора а не каждый раз, когда счетчик увеличивается.

Ну и, последнее. В условии натральные значения x и y, а у вас циклы перебирают и отрицательные значения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Набросал свой
велосипедик
def func(x, y):
    return not (((x > 1) and ((x + y) >= 6)) or (y >= 5))

def count_func(n):
    counter = 0
    for x in range(n):
        for y in range(n):
            if func(x, y):
                counter += 1
    return counter

for n in range(100):
    print(n, count_func(n))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы