Дан рекурсивный алгоритм: procedure F(n: integer); begin writeln(n); if n < 5 then begin F(n+2); F(n*2) end end; Отметьте числа, которые будут выведены при вызове F(1 1 2 3 4 5 6 8 10 14
При вызове F(1) печатается 1. Дальше вызовется F(3)
Напечатается 3. Вызовется F(5)
Напечатается 5. F(7) не вызывается, т.к. 7>5
Теперь вызывается вторая функция для F(3), то есть F(6)
Печатается 6. Дальше вызывается вторая функция для F(1), то есть F(2)
Печатается 2. Вызывается первая функция для F(2), т.е. F(4).
Печатается 4. Вызывается первая функция для F(4), т.е. F(6).
Печатается 6. Вызывается вторая функция для F(4), т.е. F(8)
Печатается 8. Вызывается вторая функция для F(2), т.е. F(4)
Печатается 4. Вызываются первая и вторая функции F(6) и F(8)
Печатается 6
Печатается 8
dannytr
09.01.2021
1. Ручной этап. Возникли основы счета. 2. Механический этап. Создание механических устройств, выполняющих основнын арифметические действия. Начался в середине 17 века и длился почти до конца 19. 3. Электромеханический этап. Промежуток между изобретением в 1887 году первого табулятора до 1946 года, когда возникла самая первая ЭВМ. Новые машины, действие которых основывалось на электроприводе позволяли производить вычисления со значительно большей скоростью и точностью, однако процессом счёта по-прежнему должен был управлять человек 4. Электронный этап. Начался во второй половине столетия и продолжается в наши дни. Сверхмощные современные компьютеры выполнять много задач
Кожуховский398
09.01.2021
Правильный ответ : 2017-ое квадратное число = 3194.
проверено в Excel.
Решение: для начала нужно понять как идут наши числа, то есть понять логику построения. 6 8 9 16 18 19 26 28 29 36 38 39 и т.д. 10-ое квадратное число = 36. значит логика построения верная. как мы можем увидеть из этого кусочка - после первых трех чисел идут те же числа,но увеличенные на десяток. в 100 первой сотне всех числе у нас "квадратных" 51 -> весь шестой десяток, весь восьмой и весь девятый,в остальных десятках по 3 числа = 30+7*3 = 51. Получаем : 100 = 51 200= 102 300 = 153 400 = 204 500 = 255 600 = 355 (так как вся сотня с "квадратной" 6) 700 = 406 800 = 506 900 = 606 1000 = 657 2000 = 657+657=1314 3000 = 1314+657 = 1971 3100 = 1971+51=2022
так как нам нужно 2017-ое число,то идем из конца сотни и находим наше число
=>3194.
Таким образом получаем ответ : 3194
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Дан рекурсивный алгоритм: procedure F(n: integer); begin writeln(n); if n < 5 then begin F(n+2); F(n*2) end end; Отметьте числа, которые будут выведены при вызове F(1 1 2 3 4 5 6 8 10 14
1,2,3,4,5,6,8
Объяснение:
Что напечатается:
1
3
5
6
2
4
6
8
4
6
8
При вызове F(1) печатается 1. Дальше вызовется F(3)
Напечатается 3. Вызовется F(5)
Напечатается 5. F(7) не вызывается, т.к. 7>5
Теперь вызывается вторая функция для F(3), то есть F(6)
Печатается 6. Дальше вызывается вторая функция для F(1), то есть F(2)
Печатается 2. Вызывается первая функция для F(2), т.е. F(4).
Печатается 4. Вызывается первая функция для F(4), т.е. F(6).
Печатается 6. Вызывается вторая функция для F(4), т.е. F(8)
Печатается 8. Вызывается вторая функция для F(2), т.е. F(4)
Печатается 4. Вызываются первая и вторая функции F(6) и F(8)
Печатается 6
Печатается 8