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

0 голосов
34 просмотров

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


Информатика (28 баллов) | 34 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

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-я цифра нечетная

(194k баллов)
0

Какой у Вас паскаль? Что не работает?

0

После n = надо вводить число и наживать Enter

0

Free pascal, когда я записываю ваше решение k1 и k2 просто по нулям

0

Попробуйте ввести число <= 32000

0

Это я не правильно вводил. Все так. Можете объяснить, почему while n>99

0

Можете помочь еще с одной задачей? (http://znanija.com/task/17789462)

0

С помощью операции div у числа отбрасывается последняя цифра. Так как нужны две первые цифры числа, то это отбрасывание нужно закончить, как только останется двухзначное число. Это число будет <=99.

0

Спасибо!

0

Пожалуйста.

0

Еще одну задачу можете помочь решить?

0 голосов

Так как мы не знаем длину числа и нам надо только первые две цифры, то можно поступить так:
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.


(13.9k баллов)
0

решение желательно через while, извиняюсь,что не предупредил

0

Да ничего ...