Процедуры и функции

80 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Для делимости числа на 11, необходимо, чтобы разность между суммой цифр, стоящих на четных местах, и суммой цифр, стоящих на нечетных местах, делилась на 11. 
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 11. 

Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 11,  если число кратно 11 и фразу not multiple of 11, если число не кратно 11

Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).

Пример

Ввод

Вывод

1 not multiple of 11
11 multiple of 11

Для делимости числа на 9, требуется, чтобы сумма цифр числа делилась на 9. 
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 9. 

Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 9,  если число кратно 9 и фразу not multiple of 9, если число не кратно 9

Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).

Пример

Ввод

Вывод

3 not multiple of 9
9 multiple of 9

Для делимости числа на 8, необходимо, чтобы число из трех последних цифр делилось на 8. 
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 8. 

Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of  8,  если число кратно 8 и фразу not multiple of 8, если число не кратно 8

Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).
 

Пример

Ввод

Вывод

3 not multiple of 8
8 multiple of 8
Для делимости числа на 5, необходимо, чтобы последняя цифра числа было 0 или 5. 
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 5. 

Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of  5,  если число кратно 5 и фразу not multiple of 5, если число не кратно 5

Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).

Пример

Ввод

Вывод

3 not multiple of 5
5 multiple of 5
 

Для делимости числа на 4, необходимо, чтобы число из последних двух цифр делилось на 4. 
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 4. 

Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of  4,  если число кратно 4 и фразу not multiple of 4, если число не кратно четырем

Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).

Пример

Ввод

Вывод

3 not multiple of 4
4 multiple of 4

Для делимости числа на 3, требуется, чтобы сумма цифр числа делилась на 3. 
Напишите функцию, работающую по данному алгоритму, для проверки делимости числа n, вводимого с клавиатуры, на 3. 

Используя данную функцию, напишите программу, которая запрашивает у пользователя число n (0<=n<=100000) и выводит на экран фразу multiple of 3,  если число кратно 3 и фразу not multiple of 3, если число не кратно трем

Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).

Пример

Ввод

Вывод

3 multiple of 3
4 not multiple of 3

Для данного натурального числа n вычислите сумму всех его натуральных делителей, включая 1 и само число. Решение оформите в виде РЕКУРСИВНОЙ функции с одним параметром. Основная программа должна содержать ввод исходных данных, вызов функции и вывод ответ
Запрещено использовать циклы в программе

Примеры
Входные данные Выходные данные
1 6 12
✓ 384✗ 287500лёгкаяВойти и решать
Для быстрого вычисления наибольшего общего делителя двух чисел используют алгоритм Евклида. Он построен на следующем соотношении: НОД(a,b)=НОД(a % b,b). Реализуйте рекурсивный алгоритм Евклида в виде функции gcd(a, b).

Ввод
12 16
Вывод
4
Напишите рекурсивную функцию с двумя параметрами, возвращающую сумму двух целых неотрицательных чисел. Из всех арифметических операций допускаются только +1 и -1. Также нельзя использовать циклы.
Основная программа должна содержать ввод исходных данных (два целых неотрицательных числа), вызов функции и вывод результата.

Примеры
Входные данные Выходные данные
1 8 7 15

В теории вычислимости важную роль играет функция Аккермана A(m,n), определенная следующим образом:

\(\begin{equation*} A(n, m) = \begin{cases} n+1 &\text{ $m = 0$}\\ A(m-1, 1) &\text{ $m>0, n=0$}\\ A(m-1, A(m, n-1)) &\text{ $m>0, n> 0$} \end{cases} \end{equation*}\)

Даны два целых неотрицательных числа m и n, каждое в отдельной строке. Выведите A(m,n).


Примеры
Входные данные Выходные данные
1 2
2
7


 
✓ 316✗ 419400лёгкаяВойти и решать
Напишите программу, содержащую рекурсивную функцию, которая  по натуральному числу n,  выводит все числа от n до 1. Основная программа должна содержать ввод исходных данных (число n) и вызов функции.
 
Примеры
Входные данные Выходные данные
1 6 6 5 4 3 2 1
✓ 4 284✗ 11 445200лёгкаяВойти и решать
Напишите программу, содержащую рекурсивную функцию, которая  решает задачу нахождения суммы чисел от 1 до n (n <= 100)
Нельзя в программе использовать циклы и формулу суммы арифметической прогрессии
Основная программа должна содержать ввод исходных данных, вызов функции и вывод ответа
На вход программе подается число n

Примеры
Входные данные Выходные данные
1 5 15
✓ 279✗ 252400лёгкаяВойти и решать
Напишите программу, содержащую рекурсивную функцию, которая  решает задачу возведения числа x в натуральную степень n.
Основная программа должна содержать ввод исходных данных, вызов функции и вывод результата
Запрещено использовать встроенные функции (и операции) возведения числа степень, а также циклы

На вход программе подаются два числа x и n

Примеры
Входные данные Выходные данные
1 2 5 32
✓ 361✗ 387400лёгкаяВойти и решать
Даны два числа. Найти их наибольший общий делитель.
 
Входные данные: Вводятся два натуральных числа, не превышающих 10^9, (запись 10^9 обозначает "10 в 9-й степени", то есть 1000000000).
Выходные данные: Выведите НОД введенных чисел

Примеры
Входные данные Выходные данные
1 42 12 6
Оформите подпрограмму для расчета площади равнобедренной трапеции по ее основаниям и высоте. Составьте программу определяющую сумму площадей двух трапеций, используя созданную подпрограмму.

Входные данные
Во входной строке содержится шесть целых числа: два основания и высота первой трапеции, затем два основания и высота второй  трапеции.

Выходные данные 
Программа должна вывести на экран одно число - сумму площадей данных трапеций. 
 
Пример
Входные данные Выходные данные
1 7 8 4 1 5 3 39.000000
 
15817#15817
Составьте процедуру, осуществляющую обмен значей двух переменных величин. Используя данную процедуру, напишите программу, в результате которой величина a меняется с величиной b, а величина c - с величиной d.

Входные данные
Во входной строке содержится четыре целых числа: a, b, c, d.

Выходные данные 
Программа должна вывести на экран четыре целых числа после перестановки: a, b, c, d.

 
Примеры
входные данные
7 8 1 5
выходные данные
8 7 5 1
Напишите функцию, которая находит минимум из 4х чисел. 

Используя данную функцию, напишите программу, которая запрашивает у пользователя 4 натуральных числа (n<=100000) и выводит на экран минимальное из них

Количество баллов за задачу уточняется после ручной проверки (и будет снижено, в случае если вы не используете функцию или функция вычисляет кратность не по приведенному алгоритму!).

Пример

Ввод

Вывод

1 2 3 4 1
5 3 7 9  3


12479#12479
Оформить подпрограмму для расчета периметра и площади треугольника по его сторонам.
Используя данную подпрограмму, напишите программу, которая по известным сторонам двух треугольников находит сумму их периметров и сумму их площадей.


Входные данные
На вход программе подается 6 целых чисел, не превышающих 100: стороны первого и второго треугольника.

Выходные данные
Вывести через пробел значения суммы их периметров и суммы их площадей (сумму площадей ввыводить с точностью до 4-х знаков после запятой). 
 
Пример
входные данные
4 5 6 4 5 6

выходные данные
30 19.8431
12475#12475
Ваша задача, в приведенной ниже программе, заполнить пропущенные участки. Вы можете использовать только те переменные, которые описаны. 
Цель - создать программу, которая скомпилируется, запустится и выведет приведенный ниже текст.
Результат:
#include<iostream>
using namespace std;

void ______(){
cout<<"Haalloooo"<<endl;

 
int main()
{
 
int e1=0, e2=0, x=0;
while(_______){
hello();
____________
if(_____){
e2++;
}
if(_____){
e2+=e1;
}
x++;
}
cout<<e2;
return 0;
}

Редактировать можно только пропущенные участки.

Количество баллов за задачу уточняется после ручной проверки!
Поделиться
Класснуть