Определить нечетное число

Задача

Из двух случайных чисел, одно из которых четное, а другое нечетное, определить и вывести на экран нечетное число.

Пояснение к задаче и алгоритм решения

В данной задаче можно выделить две подзадачи: 1) сгенерировать два случайных числа так, чтобы одно было четным, а другое нечетным, 2) определить, какое из них нечетное.

Вариант решения первой подзадачи:
Генерируем два случайных числа. Далее проверяем, являются ли оба числа четными или оба нечетные. Если это так, то увеличиваем первое число на 1. При этом в любом случае одно станет четным, а другое - нечетным. Проверку осуществляем в заголовке оператора if, строя сложное логическое выражение.

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

Проверка чисел на четность выполняется путем определения остатка от деления числа на 2. Если остаток равен нулю, значит, число четное. Если нет, то нечетное.

Исходный код на языке программирования Pascal

var a, b: byte;
begin
        randomize;
        a := random(100);
        b := random(100);
        if ((a mod 2 = 0) and (b mod 2 = 0)) or ((a mod 2 <> 0) and (b mod 2 <> 0)) then
                a := a + 1;
        writeln(a,' ',b);
        if a mod 2 <> 0 then
                writeln(a)
        else
                writeln(b);
end.

Пример(ы) выполнения программы на языке Pascal

78 69
69

77 84
77

Исходный код на языке программирования C

#include <stdio.h>
 
main() {
    int a,b;
    srand(time(NULL));
    a = rand() % 100;
    b = rand() % 100;
    if (a%2 == 1 && b%2 == 1 || a%2 == 0 && b%2 == 0)
        a += 1;
    printf("%d, %d\n", a,b);
    if (a%2 == 1)
                printf("%d\n", a);
        else
                printf("%d\n", b);
}

Пример(ы) выполнения программы на языке C

58, 73
73

37, 52
37

Исходный код на языке программирования Python

from random import random
a = int(random() * 100)
b = int(random() * 100)
if a%2 and b%2 or a%2==0 and b%2==0:
        a += 1
print(a,b)
if a%2:
        print(a)
else:
        print(b)

Пример(ы) выполнения программы на языке Python

38 99
99

61 38
61

Исходный код на языке программирования КуМир

алг чет_нечет
нач
  цел А, Б
  А := irnd(100)
  Б := irnd(100)
  если mod(А,2) = 0 и mod(Б,2) = 0 или mod(А,2) <> 0 и mod(Б,2) <> 0 то
    А := А + 1
  все
  вывод А," ",Б,нс
  если mod(А,2) = 1 то
  вывод А
   иначе
    вывод Б
  все
кон

Пример(ы) выполнения программы на языке КуМир

36 73
73

11 82
11

Исходный код на языке программирования Basic

a = int(rand*100)
b = int(rand*100)
if a%2 <> 0 and b%2 <>0 or a%2 = 0 and b%2 = 0 then
        a = a + 1
end if
print a + ", ";
print b
 
if a%2 <> 0 then
        print a
else
        print b
end if

Пример(ы) выполнения программы на языке Basic

44, 65
65

3, 98
3

Тема

Ветвления

Уровень сложности

Средний

Дата публикации