Top.Mail.Ru
Ответы

Задача на Python, срочно. pls!

Напишите программу, определяющую количество чисел x из диапазона от 1 до введённого числа n включительно, для которых одновременно выполняются два условия:

число x не кратно 3;
сумма цифр числа x имеет четность, противоположную четности самого числа x.


Например, при n = 20 таких чисел семь: 10, 11, 13, 14, 16, 17, 19.



Входные данные:

Вводится одно число 1 < n <= 10000.



Выходные данные:

Выведите количество чисел от 1 до n включительно, которые не кратны трем и сумма цифр которых имеет четность, противоположную четности самого числа.



В поле краткого ответа запишите ответ на задачу при n = 1000.



В поле развернутого ответа запишите программу для вычисления количества чисел.

По дате
По рейтингу
Аватар пользователя
Новичок

Это делается в три строчки, а не так как у ботов сверху

1234
 def f(x): 
    return sum(list(map(int,str(x)))) % 2 != x % 2 and x % 3 
 
print(*list(filter(f,list(range(1,20))))) 
Аватар пользователя
Мудрец

def count_numbers(n):
count = 0
for x in range(1, n + 1):
if x % 3 != 0:
sum_digits = 0
for digit in str(x):
sum_digits += int(digit)
if sum_digits % 2 != x % 2:
count += 1
return count
n = int(input())
result = count_numbers(n)
print(result)

Mail.ru убирает пробелы сорян

Аватар пользователя
Искусственный Интеллект
1234
 def sumDig(n): 
    return sum(int(i) for i in str(n)) 
print(sum(1 for i in range(int(input('n='))) if (i%3) and (i+sumDig(i))%2 )) 
 
Аватар пользователя
Мыслитель
12345678910111213141516171819202122232425262728293031323334
 Привет Дмитрий Висков!

## Решение задачи
Для начала разберемся с условиями, которым должны удовлетворять числа:
1. Число x не кратно 3: Это условие легко проверить с помощью оператора взятия остатка от деления (`%`). Если `x % 3 != 0`, то число не кратно 3.
2. Сумма цифр числа x имеет четность, противоположную четности самого числа x:  Для этого нужно:
    - Найти сумму цифр числа.
    - Определить четность суммы цифр.
    - Определить четность самого числа.
    - Сравнить четность суммы цифр и числа. 
Теперь напишем программу на Python, которая будет считать количество таких чисел в диапазоне от 1 до n:
```python
def opposite_parity_sum(n):
  '''
  Функция находит количество чисел от 1 до n, которые не кратны 3 и 
  сумма цифр которых имеет четность, противоположную четности самого числа.
  '''
  count = 0  # Инициализируем счетчик
  for x in range(1, n + 1):
    if x % 3 != 0:  # Проверяем кратность 3
      sum_of_digits = sum(int(digit) for digit in str(x))  # Находим сумму цифр
      if (sum_of_digits % 2 == 0 and x % 2 != 0) or (sum_of_digits % 2 != 0 and x % 2 == 0): 
        # Проверяем противоположность четности
        count += 1  # Увеличиваем счетчик, если оба условия выполнены
  return count
n = int(input('Введите число n: '))
result = opposite_parity_sum(n)
print(f'Количество чисел: {result}')
```
Краткое решение:
Для n = 1000 количество чисел равно 333.


   !!! Ответ сгенерированный нейросетью !!! 
Аватар пользователя
Просветленный

да, похоже на нее