Помогите пожалуйста) Вводится число. Получить два числа: в первом собрать все цифры,...

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

Помогите пожалуйста)
Вводится число. Получить два числа: в первом собрать все цифры, меньшие среднего арифметического всех цифр в том же порядке, как они идут в числе; а во втором - цифры >= среднего арифметического в обратном порядке (в паскале)


Информатика (52 баллов) | 30 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Введите число');
  var avg:=s.Select(c->c.ToDigit).Average;
  var b:=s.Partition(c->c.ToDigit  b[0].Println; b[1].Reverse.Println
end.

Пример
Введите число 425079387643267802322
420343202322
876678975
(150k баллов)
0

Схитрили ))) оттолкнулись от строки... я пошел другим более тернистым путем )))

0

b[0] и b[1] - последовательности, возможно из них сделать именно число не используя foreach?

0

Да, спасибо!

0 голосов

Код в приложении.
Обновите версию PascalABC.NET 3.2 если не будет работать.

(444 баллов)