Так как мы не знаем длину числа и нам надо только первые две цифры, то можно поступить так: 1. Переводим число в строку и выделяем две подстроки символ длиной в 1 с начала строки, которые переводим обратно в целое. 2. А дальше стандартно с целочисленного деления выясняем четность первой цифры числа.
var a,a1,a2:integer; s:string begin readln(a); //преобразуем число в строку и найдем первые 2 цифры str(a,s); a1:=strtoint(copy(s,1,1)); a2:=strtoint(copy(s,2,1)); writeln('Первая цифра числа: ',a1); writeln('Вторая цифра числа: ',a2); //Проверим первую цифру на четность if a1 mod 2 =0 then writeln(a1,' - четная') else writeln(a1,' - нечетная') end.
for (int i = 0; i < 4; i++) { int iEnd = iNumber % 10; if (iEnd % 2 == 0) iMulEven *= iEnd, cMask |= 1; else iMulOdd *= iEnd, cMask |= 2; iNumber /= 10; }
if (cMask == 3) std::cout << static_cast<double>(iMulEven) / iMulOdd << std::endl; else if (cMask == 1) std::cout << "There is no odd digits exists." << iMulEven << std::endl; else std::cout << "There is no even digits exists." << iMulOdd << std::endl; return 0; } /* end of the 'main' function */
1. Переводим число в строку и выделяем две подстроки символ длиной в 1 с начала строки, которые переводим обратно в целое.
2. А дальше стандартно с целочисленного деления выясняем четность первой цифры числа.
var a,a1,a2:integer;
s:string
begin
readln(a);
//преобразуем число в строку и найдем первые 2 цифры
str(a,s);
a1:=strtoint(copy(s,1,1));
a2:=strtoint(copy(s,2,1));
writeln('Первая цифра числа: ',a1);
writeln('Вторая цифра числа: ',a2);
//Проверим первую цифру на четность
if a1 mod 2 =0 then writeln(a1,' - четная')
else writeln(a1,' - нечетная')
end.
/* main program function */
int main()
{
int
iMulEven = 1,
iMulOdd = 1,
iNumber;
char cMask = 0;
std::cin >> iNumber;
if (iNumber > 9999 || iNumber < 1000)
{
std::cout << "Error! Input the correct number!" << std::endl;
return 0;
}
for (int i = 0; i < 4; i++)
{
int iEnd = iNumber % 10;
if (iEnd % 2 == 0)
iMulEven *= iEnd, cMask |= 1;
else
iMulOdd *= iEnd, cMask |= 2;
iNumber /= 10;
}
if (cMask == 3)
std::cout << static_cast<double>(iMulEven) / iMulOdd << std::endl;
else if (cMask == 1)
std::cout << "There is no odd digits exists." << iMulEven << std::endl;
else
std::cout << "There is no even digits exists." << iMulOdd << std::endl;
return 0;
} /* end of the 'main' function */