Уроки C++ / #9 урок - Функции и рекурсия
Ссылка на плейлист со всеми уроками"C++ для начинающих " - • Уроки C++ / #1 урок - Вводное занятие _______ Автор: Михаил Густокашин Куратор академических программ Яндекса Директор центра студенческих олимпиад факультета компьютерных наук ВШЭ, методист московского Центра педагогического мастерства. Готовит студентов и школьников к олимпиадам по программированию. Возглавляет методическую комиссию Московской олимпиады школьников по информатике, состоит в жюри многих других соревнований. Подготовил десятки победителей и призёров Всероссийских олимпиад. Источник: https://stepik.org/course/363/syllabus Лицензия: https://creativecommons.org/licenses/... ____________________________________________________________________________ Задача №1 Напишите функцию min(a, b), вычисляющую минимум двух чисел. Затем напишите функцию min4(a, b, c, d), вычисляющую минимум 4 чисел с помощью функции min. Считайте четыре целых числа и выведите их минимум. Формат входных данных Вводятся четыре целых числа. Формат выходных данных Выведите ответ на задачу. Sample Input: 4 5 6 7 Sample Output: 4 ___________________________________________ Задача №2 Даны четыре действительных числа: x1, y1, x2, y2. Напишите функцию distance(x1, y1, x2, y2), вычисляющую расстояние между точкой (x1. y1) и (x2, y2). Считайте четыре действительных числа и выведите результат работы этой функции. Формат входных данных Вводятся четыре действительных числа. Формат выходных данных Выведите ответ на задачу. Sample Input: 0 0 1 1 Sample Output: 1.41421 __________________________________________________________ Задача №3 Даны пять действительных чисел: x, y, xc, yc, r. Проверьте, принадлежит ли точка (x, y) кругу с центром (xc, yc) и радиусом r. Если точка принадлежит кругу, выведите слово YES, иначе выведите слово NO. Решение должно содержать функцию IsPointInCircle(x, y, xc, yc, r), возвращающую True, если точка принадлежит кругу и False, если не принадлежит. Основная программа должна считать координаты точки, вызвать функцию IsPointInCircle и в зависимости от возвращенного значения вывести на экран необходимое сообщение. Функция IsPointInCircle не должна содержать инструкцию if. Формат входных данных Вводятся пять действительных чисел. Формат выходных данных Выведите ответ на задачу. Sample Input 1: 0.5 0.5 0 0 1 Sample Output 1: YES Sample Input 2: 0.5 0.5 1 1 0.1 Sample Output 2: NO _____________________________________________________ Задача №4 Дано действительное положительное число a и целоe число n. Вычислите an. Решение оформите в виде рекурсивной функции power(a, n). Формат входных данных Вводится действительное положительное число a и целоe число n. Формат выходных данных Выведите ответ на задачу. Sample Input 1: 2 1 Sample Output 1: 2 Sample Input 2: 2 2 Sample Output 2: 4 __________________________________________________ Задача №5 Дано натуральное число n больше 1. Выведите его наименьший делитель, отличный от 1. Решение оформите в виде функции MinDivisor(n). Количество операций в программе должно быть пропорционально корню из n. Указание. Если у числа n нет делителя, меньшего n , то число n — простое и ответом будет само число n. Формат входных данных Вводится натуральное число. Формат выходных данных Выведите ответ на задачу. Sample Input 1: 4 Sample Output 1: 2 Sample Input 2: 5 Sample Output 2: 5 ____________________________________________ Задача № 6 Дано натуральное число n больше 1. Проверьте, является ли оно простым. Программа должна вывести слово YES, если число простое и NO, если число составное. Решение оформите в виде функции IsPrime(n), которая возвращает True для простых чисел и False для составных чисел. Количество операций в программе должно быть пропорционально корню из n. Формат входных данных Вводится натуральное число. Формат выходных данных Выведите ответ на задачу. Sample Input 1: 2 Sample Output 1: YES Sample Input 2: 4 Sample Output 2: NO _____________________________________________ Задача №7 Возводить в степень можно гораздо быстрее, чем за n умножений! Для этого нужно воспользоваться следующими рекуррентными соотношениями: an = (a2)n/2 при четном n, an = a × an−1 при нечетном n. Реализуйте алгоритм быстрого возведения в степень с помощью рекурсивной функции. Формат входных данных Вводятся действительное число a и целое неотрицательное число n. Формат выходных данных Выведите ответ на задачу. Sample Input 1: 2.0 1 Sample Output 1: 2 Sample Input 2: 2 2 Sample Output 2: 4 ____________________________________ Задача №8 Дана последовательность чисел, завершающаяся числом 0. Найдите сумму всех этих чисел, не используя цикл. Формат входных данных Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания). Формат выходных данных Выведите ответ на задачу. Sample Input: 1 7 9 0 Sample Output: 17 ___________________________________________

Уроки C++ / #10 урок - Строки и символы

Уроки C++ / #11 урок - Словари и множества

Исторический анекдот или встреча с ферматистом

Функции, стек и рекурсия в C++ // Демо-занятие курса «C++ Developer»

Кто такие devOps, что такое Docker на самом деле, Kubernetes - это сложно

Джейсон Стэйтем в фильме Гая Ричи - ГНЕВ ЧЕЛОВЕЧЕСКИЙ / Wrath of Man / Смотреть онлайн бесплатно

Русичи похитили дочь хана - КВН Евразия

Unbelievable Smart Worker & Hilarious Fails | Construction Compilation #5 #adamrose #smartworkers

Бобби Фишер превращает позицию в шедевр! Нестандартные шахматы без шаблонов!

Everyone Ignored Him… Until He Played | GUITAR PRO pretended TO BE HOMELESS

Уроки C++ / #8 урок - Двумерные массивы

Что такое ООП? Самое простое объяснение в интернете

Как разыграть друга на День Дурака? 1 апреля или тест на психику? | Реакция людей и приколы 2021

How does computer graphics work? OpenGL / C++

Самая легендарная задача математических олимпиад // Vital Math

Рекурсия что это. Рекурсия программирование. Рекурсия и цикл. Рекурсия с++. Для начинающих. Урок #43

Очередь и дек: варианты реализации, очередь с минимумом

УКРАИНКА В ГАРЕМЕ МЕНЯЕТ ПОРЯДКИ

Учим Html за 35 минут для начинающих от 10 лет (Основы) + Мотивация для разработчиков #ДомаВместе

