Дано натуральное число:Найти две первые цифры числа. Верно ли, что первая цифра данного числа-четная? Решение в паскале,помогите пжлст
Дано натуральное число:Найти две первые цифры числа. Верно ли, что первая цифра данного числа-четная? Решение в паскале,помогите пжлст
Ответ(ы) на вопрос:
Гость
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-я цифра нечетная
Гость
Так как мы не знаем длину числа и нам надо только первые две цифры, то можно поступить так:
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.
Не нашли ответ?
Похожие вопросы