Как найти количество нечетных целых чисел

Here is another technique i used to follow. Basically to find the number of odd/even integers in a range, just pick up the first odd/even and last odd/even in that range. Say for example i need to find out the number of odd integers in the range 100 to 150 (inclusive).

  1. Pick the first odd integer -> 101
  2. Pick the last odd integer -> 149
  3. Find the difference -> 149-101= 48
  4. Divide by the interval(in this case 2, since the positive difference between any two odd integers is 2). So -> 48/2 = 24
  5. Add 1 for an inclusive range, -> 24+1=25, This is the step we usually do for all inclusive problems.

This will work for 1-100 like, range(1-99)-> 99-1=98 -> 98/2=49 -> 49+1 = 50.

NOTE: For exclusive set, you should consider if the numbers you pick lie inside the interval in order to consider it as an inclusive set. If its confusing, lets say the above range 100 to 150 is not inclusive, we still pick up numbers 101 and 149 and they lie within the range, so the inclusive property continues here also. But what if i need to find the number of even integers in this range?
Same procedure can be used,
1. Pick first and last even integer, 100 and 150
2. 150-100 = 50
3. 50/2 = 25
4. If it is inclusive set, add 1 -> 25+1=26
5. If it is an exclusive set, subtract 1 -> 25-1=24

Don’t be confused, its just a basic understanding of ranges, read it once more. This is actually very easy and reliable method.

This can be used not only for odd/even integers in a range but also for one of the example given above.
How many integers of the form 5k+2 are there from 1 to 200?

Starting from k=0, 5(0)+2 = 2 and the last term will be 197, since we need a (multiple of 5)+2 -> 5(39)+2=195+2
The range would look like 2, 7, 12, … 197
Again our technique,
197-2 = 195
Divide by 5 in this case, since the positive difference is 5
So 195/5=39
Add 1, 39+1=40, Got the answer!!!

0 / 0 / 0

Регистрация: 20.06.2012

Сообщений: 57

1

Найти количество нечетных элементов одномерного массива целых чисел

20.06.2012, 17:50. Показов 2813. Ответов 4


Студворк — интернет-сервис помощи студентам

1. Найти количество нечетных элементов одномерного массива целых чисел.



0



561 / 484 / 168

Регистрация: 14.02.2012

Сообщений: 1,561

20.06.2012, 18:47

2

typak, а количество элементов массива любое?



0



0 / 0 / 0

Регистрация: 20.06.2012

Сообщений: 57

20.06.2012, 18:49

 [ТС]

3

условие как дали я так и копирнул сюда ))наверно



0



ВАСИЛЕВС

561 / 484 / 168

Регистрация: 14.02.2012

Сообщений: 1,561

20.06.2012, 19:06

4

Цитата
Сообщение от typak
Посмотреть сообщение

1. Найти количество нечетных элементов одномерного массива целых чисел.

Pascal
1
2
3
4
5
6
7
8
9
10
11
var
 intArray : array[1..10] of integer;
 i, n : integer;
begin
 write('Введите 10 целых чисел: ');
 for i := 1 to 10 do
  read(intArray[i]);
 for i := 1 to 10 do
  if intArray[i] mod 2 <> 0 then inc(n);
 write('Количество нечетных элементов: ', n);
end.



2



0 / 0 / 0

Регистрация: 20.06.2012

Сообщений: 57

20.06.2012, 19:09

 [ТС]

5

отлично ((



0



Посчитать четные и нечетные цифры числа

Определить, сколько в числе четных цифр, а сколько нечетных. Число вводится с клавиатуры.

Решение задачи на языке программирования Python

Если число делится без остатка на 2, его последняя цифра четная. Увеличиваем на 1 счетчик четных цифр even. Иначе последняя цифра числа нечетная, увеличиваем счетчик нечетных цифр odd.

В Python операцию нахождения остатка от деления выполняет знак %.

Чтобы избавиться от младшего уже учтенного разряда, число следует разделить нацело на 10. Деление нацело обозначается двумя слэшами //.

a = int(input())
 
even = 0
odd = 0
 
while a > 0:
    if a % 2 == 0:
        even += 1
    else:
        odd += 1
    a = a // 10
 
print(f'Even: {even}, odd: {odd}')

Пример выполнения:

Кроме чисто математического подхода в Python можно решить задачу «через строку». Мы не будем переводить введенное строковое представление числа к целочисленному типу, вместо этого переберем символы строки в цикле for. Каждый символ преобразуем к числу и проверим на четность.

a = input()
 
even = 0
odd = 0
 
for i in a:
    if int(i) % 2 == 0:
        even += 1
    else:
        odd += 1
 
print("Even: %d, odd: %d" % (even, odd))

Поскольку количество четных (как и нечетных) цифр ограничено, в программу можно включить что-то типа «базы данных» и проверять каждый символ на вхождение в нее.

a = input()
 
digits = "02468"
 
even = 0
odd = 0
 
for i in a:
    if i in digits:
        even += 1
    else:
        odd += 1
 
print("Even: %d, odd: %d" % (even, odd))

Обратим внимание, что оператор in языка Python в заголовке цикла for обозначает иное, чем в заголовке условного оператора. Логическое выражение i in digits возвращает истину если i входит в состав digits. В иных случаях — ложь.

Больше задач в PDF

«Задан интервал целых чисел [b;e][b;e]. Вы должны написать программу, чтобы определить, сколько нечетных чисел принадлежит этому интервалу.

Обратите внимание, что интервал может быть достаточно большим, и решения, перебирающие все натуральные числа, не будут проходить часть тестов.

Формат входных данных
На вход в одной строке подается два целых числа bb и ee — границы интервала, -10^{18}leq bleq eleq 10^{18}−10
18
≤b≤e≤10
18
.

Формат выходных данных
Программа должна вывести одно число — количество нечетных чисел в заданном интервале.

Методика проверки
Программа проверяется на 30 тестах. Прохождение каждого теста оценивается в 0.5 балла. Тесты из условия задачи при проверке не используются.

Sample Input 1:
-3 8

Sample Output 1:
6

Sample Input 2:
0 0

Sample Output 2:
0″

Написала такой код:

b=int(input())
e=int(input())
if b%2==0 and e%2==0:
    a=e-b
    print(a//2)
elif b%2!=0 and e%2!=0:
    a=e-b+2
    print(a//2)
else:
    a=e-b+1
    print(a//2)

Вроде всё правильно, но почему-то когда высылаю его через stepik выдаёт Runtime error. Что не так?

Описание задачи

Программа принимает на вход два числа, которые определяют границы диапазона, и выводит все нечетные числа в этом диапазоне.

Решение задачи

  1. Принимаем на вход два числа, которые определяют заданный диапазон, и записываем их в разные переменные.
  2. Используем цикл for для прохождения по этому диапазону.
  3. Затем используем оператор if для проверки на четность и после этого выводим нечетные числа на экран.
  4. Конец.

Исходный код

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

lower = int(input("Введите нижнюю границу диапазона:"))
upper = int(input("Введите верхнюю границу диапазона:"))
for i in range(lower, upper+1):
    if(i % 2 != 0):
        print(i)

Объяснение работы программы

  1. Пользователь вводит два числа, которые записываются в отдельные переменные и являются нижней и верхней границей диапазона.
  2. При помощи цикла for мы перебираем все числа в данном диапазоне.
  3. Далее используем оператор if. Выражение внутри этого оператора проверяет, равен ли остаток 0.
  4. В случае, если остаток не равен 0, мы выводим это число на экран.

Результаты работы программы

Пример 1:
Введите нижнюю границу диапазона:1
Введите верхнюю границу диапазона:16
1
3
5
7
9
11
13
15
 
Пример 2:
Введите нижнюю границу диапазона:150
Введите верхнюю границу диапазона:180
151
153
155
157
159
161
163
165
167
169
171
173
175
177
179

Понравилась статья? Поделить с друзьями:
  • Как в телеге найти группу по названию
  • Как найти работу для изохорного процесса
  • Как найти момент инерции твердого тела
  • Как найти площадь бока куба
  • Как найти все самородки