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

80 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Алиса знает, что если у числа n нет делителя, не превосходящего\(\sqrt n\), то число n - простое и его минимальным простым делителем будет само число n. Вас попросили написать программу, которая будет находить минимальный простой делитель у любого числа.

Решение оформите с использованием функций. Напишите следующие функции:
- функцию isPrime(n), которая будет принимать целое число и возвращать True, если число простое и False - если не простое.
- функцию minDivisor(n), которая будет возвращать минимальный простой делитель.

Основная программа должна содержать ввод числа, вызов функции minDivisor(n) и вывод ответа.

Входные данные
Программа получает на вход натуральное число n > 1.

Выходные данные
Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 4 2
2 5 5
Пиксельный экран выводит каждую цифру в виде картинки 3х5.
1 2 3 4 5
 *
 *
 *
 *
 *
***
  *
***
*
***
***
  *
***
  *
***
* *
* *
***
  *
  *
***
*
***
  *
***
6 7 8 9 0
***
*
***
* *
***
***
  *
 *
*
*
***
* *
***
* *
***
***
* *
***
  *
***
***
* *
* *
* *
***

На вход программе подается натуральное число n (n <= 109).

Выведите это число в виде картинки на пиксельном экране. Каждую цифру выводите с новой строки. Порядок цифр должен соответствовать порядку цифр в исходном числе (то есть сначала выводится первая цифры, затем - вторая и т. д.). Если после звездочки (*) в строке больше ничего нет, то пробелы выводить не нужно.

 
 
Примеры
Входные данные Выходные данные
1 12
 *
 *
 *
 *
 *
***
  *
***
*  
***

По данным числам n и k (0<=k<=n) вычислите \(С_n^k\) . Для решения используйте рекуррентное соотношение \(C_n^k=C_{n-1}^{k-1}+C_{n-1}^k\).

Решение оформите в виде функции C(n, k).

Входные данные: Вводятся целые числа n и k.
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 4
2
6
Когда вы используете print(), вы не видите всей сложной работы. Вы просто говорите «напечатай это», а функция уже содержит все необходимые команды, которые выполняются и выводят ваше сообщение на экран. 
Если один раз создать функцию, то сколько раз её потом можно использовать?

Выберите верный вариант ответа:
  1. Только один раз

  2. Два раза

  3. Сколько угодно раз

  4. Ни разу

У каждой фнукции есть имя и ее содержимое (тело функции - код, который она выполняет). Что нужно сделать, чтобы функция выполнилась (выполнился код, который она содержит)?

Выберите верный вариант ответа:
  1. Просто написать её название (имя)

  2. Написать её имя и поставить круглые скобки

  3. Написать её название и поставить точку

  4. Закричать на компьютер «Работай!»

Что такое функция в контексте программирования на C++?

1. Набор операторов, выполняемых случайным образом.
2. Повторно используемая последовательность операторов, предназначенная для выполнения определенной работы.
3. Уникальный набор операторов, который можно использовать только один раз.
4. Способ хранения данных в памяти программы.
5. Команда для завершения работы программы.
6. Механизм для создания графического интерфейса.
Головоломка "Ханойские башни" состоит из трех колышков, пронумерованных числами 1, 2, 3. На колышек 1 надета пирамидка из n дисков различного диаметра в порядке возрастания диаметра. Диски можно перекладывать с одного колышка на другой по одному, при этом диск нельзя класть на диск меньшего диаметра. Необходимо переложить всю пирамидку с колышка 1 на колышек 2 за минимальное число перекладываний.

Напишите программу, которая решает головоломку для данного числа дисков n.

Входные данные
Вводится 1 число n.

Выходные данные
Необходимо вывести  последовательность перекладываний в формате "Disk 1 move from 1 to 2" (диск 1 переложить c колышка 1 на колышек 2), печатая по одной инструкции в строке. Диски пронумерованы числами от 1 до n в порядке возрастания диаметров.
✓ 9✗ 12400лёгкаяВойти и решать
Что представляет собой функция в программировании на C++?
  1.  Графический элемент, используемый для создания пользовательского интерфейса.
     
  2.  Набор инструкций, выполняющихся последовательно для выполнения определенной работы.
     
  3.  Переменная, хранящая числовое значение.
     
  4.  Оператор, заставляющий программу выполнять определенные действия.
Даны два целых числа n и k, выведите все возможные комбинации из k чисел, выбранных из диапазона [1, n]. Порядок элементов в одной комбинации не важен. То есть комбинация (1, 2, 3) и (3, 2, 1) считается одинаковой.
Выведите на экран все такие комбинации в лексикографическом порядке. 

Входные данные
В первой строке записано целое число n, во второй - целое число k.
 

Ограничения

  • 1 <= n <= 20
  • 1 <= k <= n


Выходные данные
Выведите в лексикографическом порядке все возможные комбинации из k чисел, выбранных из диапазона [1, n]. Каждая комбинация чисел должна выводиться в отдельной строке, числа в одной комбинации разделяются одним пробелом.
 

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

  1. Если число четное, он может разделить его на 2.
  2. Если число нечетное, он может увеличить его на 1 или уменьшить на 1.

Сегодня Магистр Математикус задумался над вопросом, какое минимальное количество операций ему необходимо выполнить для превращения числа n в 1 с использованием его волшебных способностей. Помогите ему ответить на этот вопрос.



Входные данные
Программа получает на вход целое число n.

Ограничения на входные данные
  • 1 <= n <= 231 - 1

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1 8 3
2 7 4
✓ 16✗ 39700средняяВойти и решать
Напишите программу, которая переводит число N из системы счисления с основанием r в десятичную систему счисления.

Входные данные
Программа получает на вход два натуральных числа: и r (2 <= r <= 9). Гарантируется, что число N является правильной записью числа в системе счисления c основанием r (то есть содержит цифры от 0 до r-1).

Выходные данные
Выведите на экран число в десятичной системе счисления.
 
Примеры
Входные данные Выходные данные
1 100 2 4

Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.

Операцией возведения в степень пользоваться нельзя!
 

Входные данные

Вводится натуральное число N (N < 109).

Выходные данные

Выведите ответ на задачу.

 
Примеры
Входные данные Выходные данные
1 1 YES
2 4 YES
3 5 NO
 
✓ 96✗ 106400лёгкаяВойти и решать
+3 or +5#43329
Маленький Гриша научился выполнять с любым числом две операции: прибавлять к числу 3 и прибавлять к числу 5. Но, к сожалению, он еще не знает, что таким путем он не cможет из числа 1 получить любое число. Помогите Грише понять, сможет ли он из числа 1 получить число N или нет. 


Входные данные

Программа получает на вход натуральное число N (N <= 200).


Выходные данные

Выведите слово YES, если число N можно получить из числа 1, или NO - в противном случае. 
 

Примечание

Число 1 можно получить всегда, не выполняя при этом никаких действий.

 
Примеры
Входные данные Выходные данные
1 5 NO
2 1 YES
✓ 157✗ 297500лёгкаяВойти и решать
Напишите подпрограмму draw_figure(symbol, side), которая выводит на экран фигуру, состоящую из двух равнобедренных прямоугольных треугольников (см. примеры).

Где
  • symbol - символ-заполнитель, которым рисуется фигура;
  • side - размер катетов прямоугольного треугольника.

Входные данные
В первой строке записан символ-заполнитель (symbol), во второй строке - размер катетов (side) .

Выходные данные
Выведите на экран ответ фигуру.
 
Примеры
Входные данные Выходные данные
1
*
5
*****
****
***
**
*
*
**
***
****
*****
2
x
3
xxx
xx
x
x
xx
xxx
Алиса изучает символьную графику. Сначала, она хотела нарисовать прямоугольный треугольник с катетами, равными 5. Напишите для Алисы подпрограмму triangle_down(), которая бы выводила данный треугольник.
*
**
***
****
*****
Затем, Алиса захотела нарисовать перевернутый прямоугольный треугольник с катетами, равными 5. Напишите для Алисы подпрограмму triangle_up(), которая бы выводила данный треугольник.
*****
****
***
**
*
Немного подумав, Алиса решила, что может использовать ваши подпрограммы, чтобы нарисовать следующую фигуру. 
*****
****
***
**
*
*
**
***
****
*****

Напишите и вы подпрограмму star_figure(), которая бы выводила данную фигуру, используя выше приведенные подпрограммы. 
Основная программа должна содержать только одну строчку - вызов подпрограммы star_figure().

 
Примеры
Входные данные Выходные данные
1  
*****
****
***
**
*
*
**
***
****
*****
Алиса изучает символьную графику и хочет нарисовать состоящий из звезд прямоугольный треугольник с катетами, равными 5. Напишите функцию triangle(), которая будет выводить на экран прямоугольный треугольник, нарисованный в примере выходных данных.
 
Примеры
Входные данные Выходные данные
1  
*****
****
***
**
*
Алиса изучает символьную графику и хочет нарисовать состоящий из звезд прямоугольный треугольник с катетами, равными 5. Напишите функцию triangle(), которая будет выводить на экран такой прямоугольный треугольник, нарисованный в примере выходных данных.
 
Примеры
Входные данные Выходные данные
1  
*
**
***
****
*****
Программа заменяет в строке s все буквы 'h' на 'H', кроме первого и последнего вхождения. Вставьте пропущенные строки.
 
Примеры
Входные данные Выходные данные
1 In the hole in the ground there lived a hobbit In the Hole in tHe ground tHere lived a hobbit
Поделиться
Класснуть