цифры трёхзначного числа n: n div 100; n div 10 mod 10; n mod 10
проверка на чётность: n.iseven или n mod 2 = 0
pascalabc.net:
begin
var n : = readinteger;
var a : = n div 100;
var b : = n div 10 mod 10;
var c : = n mod 10;
if (a mod 2 = 0) then write(a);
if (b mod 2 = 0) then write(b);
if (c mod 2 = 0) then write(c);
end.
пример ввода: 190
пример вывода: 0
пример ввода: 228
пример вывода: 228
пример ввода: 173
пример вывода: (пустая строка)
[код написан и выполнен на языке c++]
а) если результат операции равен 0, то число чётное, в ином случае нечётное.
#include < iostream>
using namespace std;
int main()
{
int a;
cout < < "input number: ";
cin > > a;
if(a % 2 == 0){
cout < < "number " < < a < < " is even" < < endl;
return 0;
}
else if(a % 2 == 1){
cout < < "number " < < a < < " is not even" < < endl;
return 0;
}
}
проверка:
input number: 5
number 5 is not even
input number: 4
number 4 is even
б) (int)(a/2) предполагает, что при делении a на 2 будет отбрасываться дробная часть. то есть, если вы вводите число 3, то 3/2 = 1.5, 0.5 отбрасывается и получается 1, то есть условие не выполняется. если же мы вводим чётное, то 4/2 = 2, условие выполняется.
в случае, когда скобка = true, то число чётное, когда false = нечётное.
#include < iostream>
using namespace std;
int main()
{
double a;
cout < < "input number: ";
cin > > a;
if (int(a / 2) == a / 2) {
cout < < "number " < < a < < " is even" < < endl;
}
else {
cout < < "number " < < a < < " is not even" < < endl;
}
}
проверка:
input number: 555
number 555 is not even
input number: 144
number 144 is even
Поделитесь своими знаниями, ответьте на вопрос: