Работаем в Pascal ABC 1. Найти количество цифр меньше 6 в целом x. Тест: 254904 - 5 2....

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

Работаем в Pascal ABC
1. Найти количество цифр меньше 6 в целом x.
Тест: 254904 - 5

2. Найти сумму первой и последней цифры в целом x.
Тест: 254904 - 6

3. Найти сумму самой большой и самой маленькой цифры в целом x
Тест: 254904 - 9


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

// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
  var s:=ReadInteger('n=').ToString;
  Writeln('Количество цифр, меньших 6, равно ',
    s.Where(x->x<'6').Count);<br>  Writeln('Сумма первой и последней цифры равна ',
    StrToInt(s[1])+StrToInt(s[s.Length]));
  Writeln('Сумма самой маленькой и самой большой цифры равна ',
    StrToInt(s.Min)+StrToInt(s.Max));
end.

Тестовое решение:
n= 254904
Количество цифр, меньших 6, равно 5
Сумма первой и последней цифры равна 6
Сумма самой маленькой и самой большой цифры равна 9

(142k баллов)
0

Спасибо!

0

Возможно, так в школе и не учат на Паскале писать, но должен же человек тогда увидеть, насколько неуклюжим решениям учат в школе! ))

0 голосов

1.

var x,s:integer;
begin
read(x);
s := 0;
while x > 0 do
  begin
  if x mod 10 < 6 then s := s + 1; {здесь была ошибка}
  x := x div 10
  end;
write(s)
end.

2.

var x,s:integer;
begin
read(x);
s := x mod 10;
while x > 10 do
  x := x div 10;
write(x + s)
end.

3.

var x,a,b:integer;
begin
read(x);
a := x mod 10;
b := x mod 10;
while x > 0 do
    begin
    if x mod 10 > a then a := x mod 10;
    if x mod 10 < b then b := x mod 10;
    x := x div 10;
    end;
write(a + b)
end.

(8.5k баллов)
0

Спасибо огромное!!!