Дано натуральное число: найти две первые цифры числа. верно ли, что первая цифра данного числа-четная? решение в паскале,

asd135 asd135    1   22.07.2019 18:40    1

Ответы
мадина523 мадина523  03.10.2020 11:02
Var n,k1,k2:integer;
begin
write('n = '); readln(n);
while n>99 do n:=n div 10;
k1:=n div 10;
k2:=n mod 10;
writeln('1 цифра = ',k1,'  2 цифра = ',k2);
if k1 mod 2 = 0
  then writeln('1-я цифра четная')
  else writeln('1-я цифра нечетная');end.

Пример:
n = 5632149
1 цифра = 5  2 цифра = 6
1-я цифра нечетная
ПОКАЗАТЬ ОТВЕТЫ
plyushka1 plyushka1  03.10.2020 11:02
Так как мы не знаем длину числа и нам надо только первые две цифры, то можно поступить так:
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика