Оглавление:
Задача — Определить нечетное число
— программирование на Pascal, Си, Кумир, Basic-256, Python
Из двух случайных чисел, одно из которых четное, а другое нечетное, определить и вывести на экран нечетное число.
В данной задаче можно выделить две подзадачи: 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. 78 69
69
77 84
77
Язык Си
#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, %dn», a,b);
if (a%2 == 1)
printf(«%dn», a);
else
printf(«%dn», b);
} 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) 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-256
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 44, 65
65
3, 98
3