М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Uchenik00ot00boga
Uchenik00ot00boga
16.05.2021 19:56 •  Информатика

100 по информатике по программе перспектива

👇
Ответ:
оорог
оорог
16.05.2021
Привет можеш сфоткать
4,5(44 оценок)
Открыть все ответы
Ответ:
annwolf246
annwolf246
16.05.2021

6251413

Объяснение:

Поскольку функция рекурсивно вызывает себя и при каждом вызове выводит переданное число, удобно будет записать выводимые числа в столбик, обозначая глубину стека (количество рекурсивных вызовов) и произойдет ли вызов. Очередная пара рекуррентных вызовов происходит при передаче числа больше или равного четырём.

0: F(6) -> 6 (вызов произойдёт)

1: F(2) -> 2 (вызов не произойдёт)

1: F(5) -> 5 (вызов произойдёт)

2: F(1) -> 1 (вызов произойдёт)

2: F(4) -> 4 (вызов произойдёт)

3: F(1) -> 1 (вызов не произойдёт)

3: F(3) -> 3 (вызов не произойдёт)

4,7(82 оценок)
Ответ:
almiradkzbd
almiradkzbd
16.05.2021
Решение №1 (без массивов)

var a,n,i,j,s:integer;
begin
  writeln('Введите количество цифр в числе');
  readln(n);
  for i:=1 to n do begin
    writeln('Введите ',i,' цифру из ',n);
    readln(a);
    for j:=1 to n-i do a:=a*10;
    s:=s+a;
  end;
  writeln('Натуральное число: ',s);
end.

Тестовое решение

Введите количество цифр в числе
5
Введите 1 цифру из 5
9
Введите 2 цифру из 5
2
Введите 3 цифру из 5
7
Введите 4 цифру из 5
3
Введите 5 цифру из 5
1
Натуральное число: 92731

Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)

//PascalABC.NET (версия 3.1, сборка 1198)
var a,n,i,j,s:integer;
mas:array[1..10]of integer;
begin
  writeln('Введите количество цифр в числе');
  readln(n);
  for i:=1 to n do begin
    writeln('Введите ',i,' цифру из ',n);
    readln(mas[i]);
    a:=mas[i];  
    for j:=1 to n-i do a:=a*10;
    s:=s+a;
  end;
  writeln('Натуральное число: ',s);
end.

Тестовое решение

Введите количество цифр в числе
5
Введите 1 цифру из 5
5
Введите 2 цифру из 5
4
Введите 3 цифру из 5
3
Введите 4 цифру из 5
2
Введите 5 цифру из 5
2
Натуральное число: 54322
4,7(95 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ