Напишите программу на C++ для вывода первых 50 натуральных чисел с помощью рекурсии.
#include <iostream> using namespace std; void print(int n) { if (n<1) return; print(n-1); cout<<n<<" "; } int main() { print(50); return 0; }
Напишите программу на C++ для вычисления суммы чисел от 1 до n с помощью рекурсии.
#include <iostream> using namespace std; int sum(int n) { if (n<1) return 0; return( n + sum(n-1)); } int main() { cout<<sum(10); return 0; }
Напишите программу на C++ для вычисления факториала заданного числа с помощью рекурсии.
#include <iostream> using namespace std; int fact(int n) { if (n==1) return 1; return( n * fact(n-1)); } int main() { cout<<fact(5); return 0; }
Напишите программу на C++ для нахождения суммы всех элементов массива с помощью рекурсии.
#include <iostream> using namespace std; int sum(int arr[], int n) { if (n==0) return 0; return(arr[n-1] + sum(arr, n-1)); } int main() { int arr[]={1,2,3,4,5}, n= 5; cout<<sum(arr, n); }
Напишите программу на C++, реализующую рекурсивную функцию для вычисления суммы цифр заданного числа.
#include <iostream> using namespace std; int sumofDigits(int n) { if (n == 0) return 0; return(n %10 + sumofDigits(n/10)); } int main() { cout<<sumofDigits(1234); return 0; }
Напишите программу на C++, реализующую рекурсивную функцию для вычисления степени числа.
#include <iostream> using namespace std; int pow(int n, int p) { if (p==1) return n; return(n * pow(n,p-1)); } int main() { cout<<pow(10,2)<<endl; cout<<pow(2,3)<<endl; return 0; }
Напишите программу на C++, реализующую рекурсивную функцию для вычисления суммы четных и нечетных чисел в заданном диапазоне.
#include <iostream> using namespace std; void sum(int n1, int n2, int &sume, int &sumo) { if(n1 > n2) return; if(n1 % 2==0) sume+=n1; else sumo+=n1; sum(n1+1, n2, sume, sumo); } int main() { int sume=0, sumo=0; sum(1,10, sume, sumo); cout<<sume<<endl; cout<<sumo; return 0; }
Напишите программу на C++ для печати рядов Фибоначчи с использованием рекурсии
#include <iostream> using namespace std; int fibo(int n) { if (n ==0 ) return 0; else if (n==1) return 1; return(fibo(n-1) + fibo(n-2)); } void fibonacci(int n1, int n2) { if(n1 > n2) return; cout<<fibo(n1-1)<<" "; fibonacci(n1+1, n2); } int main() { fibonacci(1,10); }
Напишите программу на C++ для подсчета цифр заданного числа с помощью рекурсии
#include <iostream> using namespace std; int countofDigits(int n) { if (n == 0) return 0; return(1 + countofDigits(n/10)); } int main() { cout<<countofDigits(1234); return 0; }
Напишите программу на C++ для преобразования десятичного числа в двоичное с помощью рекурсии.
#include <iostream> using namespace std; long convertBinary(int); int main() { long biNo; int decNo; cout<<" Input any decimal number : "; cin>>decNo; biNo = convertBinary(decNo); cout<<"The Binary value "<<biNo; return 0; } long convertBinary(int decNo) { static long biNo,r,fctor = 1; if(decNo != 0) { r = decNo % 2; biNo = biNo + r * fctor; fctor = fctor * 10; convertBinary(decNo / 2); } return biNo; }
Напишите программу на C++ для проверки, является ли число простым или не использует рекурсию.
#include <iostream> using namespace std; int primeNo(int n, int i=2) { if ( n == i ) return 1; if (n % i == 0) return 0; return(primeNo(n, i+1)); } int main() { if(primeNo(5) == 1) cout<<"Prime No "; else cout<<"Not Prime No "; }
Напишите программу на C++ для реализации рекурсивной функции поиска наибольшего общего делителя (НОД) двух чисел.
#include <iostream> using namespace std; int gcd(int x, int y) { if (x == 0) return y; if (y == 0) return x; return gcd(y, x % y); } int main() { cout<<gcd(14,7); return 0; }
Напишите программу на C++, реализующую рекурсивную функцию для вычисления произведения двух чисел без использования оператора умножения.
#include <iostream> using namespace std; int multiply(int x, int y) { if (x == 0 || y == 0) return 0; if (y > 0) return x + multiply(x, y - 1); else return -x + multiply(x, y + 1); } int main() { cout<<multiply(2,3)<<endl; cout<<multiply(10,2); return 0 ; }
Напишите программу на C++ для нахождения НОК двух чисел с помощью рекурсии.
#include <iostream> using namespace std; int lcmCalculate(int a, int b){ static int m = 0; m += b; if((m % a == 0) && (m % b == 0)) return m; else return(lcmCalculate(a, b)); } int main() { cout<<lcmCalculate(4,2); return 0; }