Жили были монитор, клавиатура,системный блок и мышь.Они все жили в разных районах,но случилось так,что они все переехали и стали жить рядом с друг другом.Далее они пошли в одну школу,но почему-то не общались.Их всех избрали в школьный парламент.В рамках этого парламента им нужно было сделать один совместный проект.Сначала они не поладили,системный блок задирал остальных, особенно мышь, которую он прозвал серой мышкою.Все остальные обиделись на системный блок,и стали работать над проектом втроём.Системный блок признал свою ошибку,и попросил у всех прощения.Когда над проектом работали только трое, ни-че-го не получалось.Но все вместе они создали уникальный проект и получили за него пятерку.Ребята усвоили,что порознь-они ничего не добьются,но вместе-они свернут горы)
Четырехзначные восьмеричные числа - это числа в диапазоне от 1111₈ до 7777₈
Мы можем поступить двояким
1) перевести оба числа в десятичную систему счисления и таким образом определить диапазон чисел, которые (предположительно) надо суммировать.
2) перевести оба числа в шестнадцатиричную систему и записать диапазон шестнадцатиричными числами (в Паскале их можно указывать).
Мне больше по душе второй вариант, потому что он не требует расчетов на калькуляторе или "в столбик".
1111₈ = 1 001 001 001₂ = 10 0100 1001₂ = 249₁₆
7777₈ = 111 111 111 111₂ = 1111 1111 1111 = FFF₁₆
Осталось решить вопрос о том, как отобрать числа, у которых в восьмеричном коде последняя не пятерка. Вспомним перевод числа из десятичной системы в восьмеричную: мы делим на 8, выписывая остатки, в потом записываем из в обратном порядке. Следовательно, последней цифрой числа будет остаток от самого первого деления. И это дает нам правило отбора чисел: остаток от деления числа на 8 не должен равняться 5.
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!
begin
ReadSeqIntegerWhile(t->t<>0)
.Where(t->t.Between($249,$FFF) and (t mod 8 <>5)).Sum.Println
end.