Написать программу в Паскале Дано натуральное число n (n<9999). а)сколько цифр в числе...

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

Написать программу в Паскале
Дано натуральное число n (n<9999). <br> а)сколько цифр в числе n?
б)чему равна сумма его цифр?
в)найти последнюю цифру числа.
г)найти первую цифру числа.
д ) найти предпоследнюю цифру числа ( в предположении , что n>10).
е)дано число m. Найти сумму m- последних цифр числа n.
ж)выяснить, входит ли цифра 3 в запись числа n.
з)поменять порядок цифр числа n на обратный.
и)переставить последнюю и первую цифры числа n.


Информатика (3.0k баллов) | 39 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
begin
  var s:=ReadInteger('n=').ToString.JoinIntoString('');
  Writeln('Цифр в числе- ',s.Length);
  Writeln('Сумма цифр- ',s.Select(d->Integer.Parse(d)).Sum);
  Writeln('Последняя цифра- ',s.Last);
  Writeln('Первая цифра- ',s.First);
  Writeln('Предпоследняя цифра- ',s[s.Length-1]);
  var m:=ReadInteger('m=');
  Write('Сумма ',m,' последних цифр числа- ');
  Writeln(s.Skip(s.Length-m).Select(d->Integer.Parse(d)).Sum);
  Write('Цифра 3 в запись числа ');
  if Pos('3',s)>0 then Writeln('входит')
  else Writeln('не входит');
  Writeln('Число в обратном порядке- ',s.Reverse.JoinIntoString(''));
  Writeln('Перестановка первой и последней цифр- ',
    s.Last+Copy(s,2,s.Length-2)+s.First);
end.

Тестовое решение:
n= 1063
Цифр в числе- 4
Сумма цифр- 10
Последняя цифра- 3
Первая цифра- 1
Предпоследняя цифра- 6
m= 2
Сумма 2 последних цифр числа- 9
Цифра 3 в запись числа входит
Число в обратном порядке- 3601
Перестановка первой и последней цифр- 3061

(142k баллов)