В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
mashatemni
mashatemni
27.01.2022 23:58 •  Информатика

№2.
указать индексы и напечатать те элементы целочисленного массива х, сумма цифр которых равна заданному числу м (если такие элементы есть). размерность массива х и число м программа должна запрашивать у пользователя.

написать функции:

1) заполнение массива по следующему правилу: x[k+1]=(5*x[k]+7) mod 1000, где x[0]=9, mod – остаток от деления

2) определение, равна ли сумма цифр числа заданному числу м.

в одной строке вывода должны содержаться: индекс элемента массива и значение элемента массива, друг от друга должны отделятся пробелом. следующая пара чисел должна находиться на новой строчке. если необходимые элементы в массиве отсутствуют, то вывести сообщение no.

пример выходных данных при m=5:

2 23

4 113

10 41

Показать ответ
Ответ:
f1chu
f1chu
10.10.2020 11:07

На PascalABC.NET, потому что в остальных паскалях функция не может вернуть массив, а по условию она должна его заполнять.

function Init(n: integer): array of integer;

begin

 Result := new integer[n];

 Result[0] := 9;

 for var k := 1 to Result.High do

   Result[k] := (5 * Result[k-1] + 7) mod 1000;

end;

function IsSumM(n, M: integer): boolean;

begin

 var s := 0;

 while n > 0 do

 begin

   s += n mod 10;

   n := n div 10

 end;

 Result := s = M  

end;

begin

 var (n, M) := ReadInteger2('Введи n и М');

 Init(n).Println.Where(p -> IsSumM(p, M)).Println

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота