Да се състави програма на C++, която извежда сумата на всички числа от интервала 1 до въведено число.
Входни данни: естествено число от интервала [10 - 30000].
Пример: 5 Изход: 15
Използвайте рекурсия
(свободен достъп)
Да се състави програма на C++, която извежда факториела на въведено число n! = n*(n-1)*(n-2)*..*2*1.
Входни данни: естествено число от интервала [10 - 20].
Пример: 5 Изход: 120
Използвайте рекурсия
Да се състави програма на C++, която извежда в обратна последователност стойностите на отделните елементи от даден едномерен масив (вектор).
Пример: 2, 4, 5, 3, 1
Изход: 1, 3, 5, 4, 2
Използвайте рекурсия
Да се състави програма на C++, която проверява има ли определена цифра във вече въведено число.
Входни данни: естествено число от интервала [10 - 30000] и цифра.
Пример: в числото 2345 има цифра 2, но в числото 7654 няма.
Използвайте рекурсия
Да се състави програма на C++, която изчислява ред на Фибоначи.
Число с пореден номер >2 се образува като сбор от числата с поредни номера n1 и n2.
Пример: 5 Изход: 5
Използвайте рекурсия
Да се състави програма на C++, която изчислява произведение на две естествени числа =>2, като се използва само събиране. Входни данни: 2 естествени числа от интервала [2 - 100].
Пример: 4, 5 Изход: 20
Използвайте рекурсия
Да се състави програма на C++, която изчислява квадрата на естествено число =>2, като при това не ползва умножение/степенуване. Входни данни: естествено число от интервала [2 - 100].
Пример: 5 Изход: 25
Използвайте рекурсия
Да се състави програма на C++, чрез която се въвеждат символи до въвеждането на знака 'Z'. Програмата да изведе всички въведени символи в ред обратен на въвеждането им.
Пример: ACDFZ Изход: ZFDCA
Използвайте рекурсия
Да се състави рекурсивна функция, чрез която се въвеждат естествени числа от интервала [10 .. 100] от 10-ичната бройна система, а ги извежда в посочена от потребителя бройна система от интервала [2 .. 9]
Пример: 15, 2 Изход: 1111
Използвайте рекурсия
Да се състави програма на C++, чрез която се извършва степенуване на число от интервала [9.99 .. 9.99]. Степенният показател е цяло число от интервала [-5..5].
Пример: 15, 2 Изход: 225
Използвайте рекурсия
Задачата за Ханойски кули се състои в преподреждане на различни по диаметър дискове.
Имате 3 оси, на които можете да поставяте дисковете. Имате право да местите само по един диск - най-горния, от която и да е ос, и трябва да го поставите най-отгоре на желана от Вас ос. Нямате право да да местите диск, ако има диск извън една от 3-те оси.
Да се се състави програма за решаване на задачата "Ханойски кули".
Входни данни: естествено число от интервала [2..5].
Вход: 3
Изход:
Преместете диск 2 от A на B
Преместете диск 1 от C на B
Преместете диск 3 от A на C
Преместете диск 1 от B на A
Преместете диск 2 от B на C
Преместете диск 1 от A на C
Използвайте рекурсия
Да се състави програма на C++, чрез която се осъществява бързо вдигане на степен.
Входни данни: основа - реално число [10.1..99.9] и степенен показател естествено число от интервала [3..10].
Използвайте рекурсия
Имате предварително въведени стойности в масив от 9 числа от интервала [-99.99..99.99].
Да се състави програма на C++, която извеждащ минималния елемент от масива.
Използвайте рекурсия
Да се състави програма на C++, чрез която се въвеждат 9 реални числа от интервала [-99.99..99.99].
Проверете дали въведената редица е монотонно нарастваща.
Пример: 1 2 3 3 е, но 1 3 2 4 не е монотонно нарастваща
Използвайте рекурсия
Да се състави програма на C++, която проверява дали въведено естествено число е просто.
Пример: 101 Изход: просто
Използвайте рекурсия
Да се състави програма на C++, чрез която по въведени начална и крайна цифра се извеждат на всеки нов ред следната последователност (триъгълник от знаци):
Пример: 1, 9
Изход:
1
1 2
1 2 3
... до
1 2 3 4 5 6 7 8 9
Използвайте рекурсия
Намерете двуцифрено естествено число xy, за което се въвеждат сборът от цифрите 'x+y' и разликата между числата 'yx - xy'.
Да се състави програма на C++, която по въведени сбор и разлика извежда цифрите на числото.
Пример: Сбор x + y = 12; Разлика yx - xy = 36.
Изход: 48
Използвайте рекурсия
В една от книгите игри главният герой се изправя пред последната преграда, деляща го от белия свят - вълшебно огледало. Той трябва да научи магическата дума за отваряне на вратата. Героят пише заклинание, а огледалото, ако е в настроение му отговаря правилно.
И понеже обстановката е мистична героят пише, но нищо не се вижда. След като се въведе текста с Enter се изписва всичко въведено, но в обратна последователност. Огледалото извежда видим текст, който се състои само от цифри и главни букви, участващи във въведения текст.
Да се състави програма на C++, чрез която с рекурсивна функция се въвежда низ с дължина [10..9999] знака. Въвеждането спира след натискане на клавиша Enter, като при въвеждането не се изписва нищо на екрана.
Програмата да изведе 1) въведения текст в обратна последователност на въвеждането, 2) по реда на въвеждането всички цифри и накрая в същия ред само главните букви.
Пример: rekursiq13
Изход: 31aisrukeR отговор огледало 13R, брой въведени символи 10.
Използвайте рекурсия
Да се състави програма на C++, чрез която се извежда триъгълник от букви.
Първият ред на триъгълника започва с А и завършва с въведената главна латинска буква. Във всеки следващ ред крайният знак е с 1 по-малък (по ASCII код).
Пример: D
Изход:
A B C D
A B C
A B
A
Използвайте рекурсия
Да се състави програма на C++, чрез която се въвежда естествено число N от интервала [12..1234567].
Програмата да извежда число, чиито цифри са написани в ред обратен на въведеното число.
Да не се въвеждат числа кратни на 10. Да се извежда съобщение дали въведеното число е палиндром.
Пример: 12321 Изход: 12321 да.
Използвайте рекурсия
Иван е запален по билярд. Купил си е множество топки и непрекъснато си играе с тях. Майка му се сърди, че в стаята е вечно разхвърляно и няма къде да се стъпи на пода.
Иван решава да подреди всичките си топки на триъгълник – на всеки нов ред всяка от топките се слага между две топки от предходния ред.
Да се състави програма на C++, чрез която по въведено естествено число N от интервала [2…202020] се извежда дали най-горният ред ще съдържа само една топка при спазване на горните изисквания.
Пример: 55 Изход: Да
Използвайте рекурсия
Имате две цели числа M и N от интервала [-102..102].
Да се състави програма на C++, която намира най-големия общ делител на M и N.
Пример: 18,-39 Изход 3
Използвайте рекурсия
Имате реално число M от интервала [2.99..10002.99]. Броят цифри в числото, след десетичната точка е от интервала. [2..4].
Да се състави програма на C++, която намира най-малкото цяло число N, което съдържа всички цифри на M, подредени в същата последователност.
Пример: 18.39 Изход: 1839
Използвайте рекурсия
Имате реално число M от интервала [2.99..10002.99]. Броят цифри в числото, след десетичната точка е от интервала. [2..4]. Имате и друго, естествено число P от интервала [2..1002].
В случая M е делимо, P делител. Търсим дали частното N/P е рационално число, чийто брой цифри след десетичната запетая е по-малък или равен на броя съответни цифри в делимото M.
Да се състави програма на C++, която извежда отговор дали условието се изпълнява (дали броя цифри в частното след десетичната запетая е <= на съответния брой цифри в делимото.
Пример: 18.39; 3
Изход: Да. 6.13
Използвайте рекурсия
Наближава Коледа и трябва да се подготви тържеството.
Учениците от един клас решили хоро да играят. Дотук добре, обаче..
Не могат да се разберат кой с кого да се хване. Стоят и се препират вместо да репетират.
Да се създаде програма, чрез която се въвежда броя на участниците - естествено число N от интервала [2..22]. Програмата да изчислява и извежда брой различни подреждания на участниците в хорото.
Пример: 5 Изход: 24
Използвайте рекурсия
Имате линейно Диофантово уравнение представно чрез коефициентите си: Ax + By = C, където A, B, C са естествени числа от интервала [1..24].
Да се състави програма на C++ за намиране възможно решение с цели числа.
Пример: 3, 4, 43
Изход: x=1, y=10
Използвайте рекурсия
Имате предварително въведен редица от естествени числа, принадлежащи на интервала [0..1010].
Да се състави програма, ползваща рекурсивни функции, чрез която се извежда дали има повтарящи се елементи в редицата.
Пример: 1,3,4,5,6,7,8,9,1
Изход: Има повтарящи се елементи.
Да се състави програма (C++) за изчисляване на броя възможни думи, съдържащи N на брой различни букви.
N е естествено число от интервала [2..9].
Пример: 3 Изход: 6
Използвайте рекурсия.
Да се състави програма, която чрез рекурсивна функция, извежда неповтарящата се част от таблицата за умножение.
Пример: 6 Изход:
1 2 3 4 5 6
4 6 8 10 12
9 12 15 18
16 20 24
25 30
36
Да се състави програма, използваща рекурсивна функция, чрез която се генерират всички вариации без повторение на естествени числа, от k елемента, клас m.
Числата k и m са естествени числа от интервала [2..30], като k >= m.
Да се извежда на отделен ред: пореден номер вариация и всеки от участващите в нея елементи – естествени числа от интервала [1.. k].
Пример: брой елементи 4, клас 2 Изход: 12,13,14, 21,23,24,31,32,34, 41,42,43
Да се състави програма, използваща рекурсивна функция за изчисляване на броя възможни комбинации от N на брой различни елементи по M елемента.
M, N са естествени числа от интервала [5..15], а N е по-голямо от>M.
Пример: 5,3 Изход: 10
Да се състави програма (C++), използваща рекурсивна функция, чрез която се генерират всички комбинации без повторение от k елемента, клас m на част от буквите на латинската азбука.
Числата k и m са естествени числа от интервала [3..26].
Да се извежда на отделен ред: пореден номер комбинация и всеки от участващите в нея елементи – главна латинска буква.
Пример: брой елементи 4, клас 2 Изход: A-B; A-C; A-D; B-C; B-D; C-D
Да се състави програма (C++), която по въведено естествено число N от интервала [2..20] извежда сумата на всички факториели на числата от 1 до въведеното.
Пример: 5 Изход 154
Да се използва рекурсия.
При изчисляване на факториел от естествено число N се взема произведението от N и всички предшестващи го естествени числа.
Аналогично при двоен факториел се взема произведението от N и всички естествени числа през 1.
Ако N е нечетно число, то N!!=1*3*5*7...*(N-4)*(N-2)*N.
Ако N е четно число, то N!!=2*4*6*8...*(N-4)*(N-2)*N.
Да се състави програма (C++), чрез която се въвежда естествено число N и се извежда двоен факториел N!!
Да се използва рекурсия.
Има една популярна игра, състояща се в следното: трябва да се вземат определен брой предмети от една купчина. Играчите са двама, предварително се разбират по колко най-много предмети могат да вземат, когато са на ход - естествено число N от интервала [5..25].
Целта е намиране на такава стратегия, че за противника да не остане нищо - последният, който не може да вземе предмет губи.
Играят компютър срещу човек. Играчът определя N, а компютърът общия брой предмети - квадрата на въведеното число и започва пръв.
Да се състави програма (C++), чрез която се реализира описаната игра. Програмата, чрез рекурсия, да определя колко предмета се вземат от компютъра за всеки отделен ход.
Да има защита срещу некоректни входни данни.
В класическия алгоритъм на Евклид, за намиране на най-голям общ делител (НОД) за двойка естествени числа е: от по-голямото число се води по-малкото до тяхното изравняване.
Полученото число е техния НОД, ако той е 1 числата са взаимно прости.
Има разновидност на този алгоритъм, при която не се ползва изваждане, а целочислено делене.
Имате въведени 2 естествени числа M, N от интервала [22..222].
Да се състави програма (C++), която чрез рекурсия намира НОД. В рекурсивната функция да се ползва целочислено делене.
Пример: 121, 99 Изход: 11
Един от примерите за диофантово уравнение, чиито решения са цели числа, са страните в правоъгълен триъгълник - пряко следствие от теоремата на Питагор a*a + b*b = c*c, където c е дължина на хипотенузата, a,b са дължини на катетите.
Такива тройки взаимно прости числа могат да бъдат получени и чрез следните формули:
a = M*M – N*N; b = 2*M*N, c=M*M + N*N, където M, N са естествени числа и M е по-голямо от N.
Да се състави програма (C++), чрез която се въвежда M – естествено число от интервала [2..102] и чрез рекурсивна функция се извеждат всички възможни питагорови тройки числа, изчислени по описания алгоритъм за M.
Пример: 4 Изход: 15,8,17; 12,16,20, 7,24,25
Да се състави програма (C++), чрез която по въведено реално число x от интервала [1..255] се изчислява корен квадратен по метода на Нютон.
Входни данни: x - подкоренна величина, gr - допустима грешка.
Пример: 2,.001 Изход: 1.4142.
Да се използва рекурсия.
Да се състави програма (C++), чрез която се сортират 40 случайно избрани естествени числа от интервала [100..999].
Метод на сортиране пряка размяна (метод на мехурчето).
Сортирането да бъде във възходяща последователност на стойностите и осъществено чрез рекурсия.
Да се състави програма (C++), чрез която се сортират 24 случайно избрани естествени числа от интервала [100..999].
Метод на сортиране пряко вмъкване (метод на картоиграча).
Сортирането да бъде в низходяща последователност на стойностите и осъществено чрез рекурсия.
Да се състави програма (C++), чрез която се сортират 40 случайно избрани естествени числа от интервала [1000..9999].
Да се използва алгоритъм за сортиране пряка селекция (метод на прекия избор).
Сортирането да бъде във възходящ ред на стойностите и осъществено чрез рекурсия.
Да се състави програма (C++), чрез която се въвежда естествено число N от интервала [10..100010].
Програмата да извежда най-близкото по-голямо просто число.
Пример: 98 Изход 101
Да се използва рекурсия.
Да се състави програма (C++), чрез която се въвежда естествено число N от интервала [10..10010] и се извежда сумата на цифрите му.
Пример: 15 Изход: 6
Използвайте рекурсия.
Да се състави програма (C++), чрез която се въвеждат числата N и М и се извежда сумата от цифрите на всички числа от числовия интервал [N..M].
N, M са естествени числа от интервала [1..10001].
Програмата да не прави разлика за начало и край на числовия интервал.
Пример: 15,10 Изход: 21
Използвайте рекурсия.
Да се състави програма (C++), чрез която се показва сходимостта и се изчислява сумата на рекурентна редица с общ член: 1 + 1/n^2.
Чрез знака ^ е означено повдигане на степен.
Изчисленията продължават до достигане на по-малка, предварително определена зададена разлика между два съседни члена от редицата.
Пример: 0.001 Изход: обща сума 13.576
Използвайте рекурсия.
Да се състави програма (C++), която показва сходимостта и изчислява сумата на редица с общ член: 3*n+1/(3*n-1).
Изчисленията продължават до достигане на по-малка, предварително определена зададена разлика между два съседни члена от редицата.
Пример: 0.001 Изход: обща сума 30.0802
Използвайте рекурсия.
Да се състави програма (C++), която чрез рекурсивна функция показва сходимостта и изчислява сумата на редица с общ член: (2*n-3)/n
Изчисленията продължават до достигане на по-малка, предварително определена зададена разлика между два съседни члена от редицата.
Пример: 0.001 Изход: обща сума 98.1656
Дадена е рекурентна редица - аритметична прогресия, чиито членове са дроби с числител 1 и знаменател последователни естествени числа:
1, 1/2, 1/3, 1/4 .. 1/n, където n е естествено число от интервала [10..100].
Да се състави програма (C++), която изчислява сумата от членовете на тази рекурентна редица за определен брой членове - n. Използвайте рекурсия.
В рекурсивната функция да се извежда стойността на всеки отделен член на прогресията.
Пример: 5 Изход: 2.28333
Да се състави програма (C++), чрез която се въвеждат: начален член a, разлика - d и брой елементи - n на аритметична прогресия и се извежда сумата от всички членове на прогресията.
Числата a и d са реални от интервала [1.1 - 99.9].
Пример: a=1, d=1.1, n=6 Изход: 22.5.
Използвайте рекурсия.
Да се състави програма (C++), чрез която се въвеждат: начална сума на влог - K, лихвен процент - L и срок на депозит - P и се извежда крайната сума за получаване на срочния влог.
Числата K и L са реални от интервала [0.1 - 99999.9].
Пример: K=16674.7 , L=2.5, P=10 сума за получаване: 21345
Използвайте рекурсия.
Да се състави програма (C++), чрез която се въвеждат: начален член a, частно - d и брой елементи - n на геометрична прогресия и се извежда сумата от всички членове на прогресията.
Числата a и d са реални от интервала [1.1 - 2.1].
Пример: a=1, d=2, n=6 Изход: 63.
Използвайте рекурсия.
Рекурентна числова редица е редица, при която всеки следващ елемент се получава от предходните по определено правило.
Имаме рекурентна редица, чийто първи 5 члена са: 0:1, 1:1, 2:3, 3:11, 4:53, 5:309,
Да се състави програма (C++), която чрез рекурсивна функция извежда N-тия член на редицата.
N е естествено число от интервала [0..20].
Субфакториел може да се представи като рекурентна числова редица, в който всеки следващ елемент се представя като цялата част на отношението !An = [n!/e].
Имаме рекурентна редица, чийто първи 5 члена са: 0, 1, 2, 9, 44.
Да се състави програма (C++), която чрез рекурсивна функция извежда N-тия член на редицата.
N е естествено число от интервала [3..20].
Съществуват k броя квадрати със страна 1. От тях трябва да се състави фигура, подобна на равностранен триъгълник.
На върха на триъгълника има разположен един квадрат, на следващия ред са разположение 2 квадрата. На всеки следващ ред има един квадрат повече.
Да се състави програма използваща рекурсивна функция. По въведено естествено число k от интервала [10 - 30000] се извежда страната на най-големия възможен равностранен триъгълник, както и броя неизползвани квадрати.
Пример: 17 Изход: страна 5, неизползвани 2
Съществува равностранен триъгълник с дължина на страната естествено число n от интервала [1..101].
В триъгълника са вписани k броя едностранни триъгълници с дължина на страната 1.
Да се състави програма, която чрез рекурсивна функция изчислява максималния брой непресичащи се малки равностранни триъгълници.
Пример n = 8 Изход k = 64
Да се състави програма, чрез която се въвеждат две естествени числа [10..30000]. Програмата да използва рекурсивна функция за изчисляване произведението на двете числа, като изчислява сума от последователното целочислено умножение чрез делене на 2.
Пример: 10, 7 Изход:
5, 14
2, 28
1, 56
Произведение 70
Да се състави програма, чрез която по въведено естествено число от интервала [10..99] се извежда поредица числа, при спазване на следните изисквания:
1) ако предходното число е четно се извежда 0.5*числото;
2) ако предходното число е нечетно се извежда 3*числото +1.
Извеждането продължава докато не се получи стойност 1.
Пример: 11 Изход: 34 17 52 26 13 40 20 10 5 16 8 4 2 1
Редицата от правоъгълни числа е монотонно растяща и всеки неин член се дефинира като произведение на две последователни естествени числа. Такива числа биха могли да бъдат представен графично като правоъгълници със страни k и k+1.
Да се състави програма, чрез която се въвежда естествено число N от интервала [3..103].
Програмата да изведе всички правоъгълни числа от първото правоъгълно число до въведения пореден номер.
Пример: 12 Изход: 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156
Редицата от триъгълни числа е монотонно растяща като всеки неин член може да се представи като сума от последователни естествени числа.
Tриъгълни числа могат да се представят графично като брой сфери подредени в равностранен триъгълник със страни k.
Да се състави програма, чрез която се въвежда естествено число N от интервала [3..103].
Програмата, чрез рекурсивна функция, да изведе всички триъгълни числа от въведения пореден номер N до първото триъгълно число.
Пример: 10 Изход: 55, 45, 36, 28, 21 15 10, 6, 3, 1
Да се състави програма, чрез която се въвежда естествено число N от интервала [1..20]. Чрез рекурсивна функция да се изведе минималното двоично число съдържащо в записа си N броя единици.
Пример: 4 Изход 15
Да се състави програма, чрез която се въвеждат две естествени число N и K. Числото N да се представи като двоично число с K броя цифри. Да се използва рекурсивна функция.
Пример: chislo: N=15, K=5 Изход: 01111
Да се състави програма, чрез която се въвежда естествено число N. Числото N редставлява брой членове на рекурентна редица от вида: a(1)=1, a(n)=5*(2*n-1)*n-a*(n-1), където n е естествено число. Програмата, чрез рекурсивна функция, да извежда стойността на отделните елементи на рекурентната редица от 1-вия до N-тия.
Пример: N=5; Изход: 1, 29 ,46, 94, 131
Да се състави програма, която извежда на екрана всички комбинации от K буквени думи над азбуката съдържаща N главни букви от латинската азбука.
В думите не трябва да има повтарящи се букви. Да се използва рекурсивна функция.
Пример: N=4, K=2 възможни думи над азбуката са: AB,AC,AD,BA,BC,BD,CA,CB,CD,DA,DB,DC
Да се състави програма, чрез която се въвежда десетична дроб. Програмата, чрез рекурсивна функция, да извежда въведената стойност като двоична дроб. Точността на изчисляване се ограничава или до указан брой знаци или до получаване на еквивалентна стойност.
Пример: 0.125 Изход: 0.001
десетична дроб: 0.12444 двоична дроб с 10 знака: 0.0001111111