Untitled
unknown
plain_text
a month ago
1.5 kB
0
Indexable
Never
#include <bits/stdc++.h> using namespace std; // Recursive algorithms int sum_Recursive(int n){ if(n==1){ return 1; } else{ return n + sum_Recursive(n-1); } } int combinationRecursive(int n, int k) { if (k == 0 || k == n) { return 1; } return combinationRecursive(n - 1, k - 1) + combinationRecursive(n - 1, k); } int gcdRecursive(int a, int b) { if (b == 0) { return a; } return gcdRecursive(b, a % b); } int findMin(int arr[], int left, int right) { if (left == right) { // If there's only one element, it is the minimal element return arr[left]; } int middle = (left + right) / 2; // Recursively find the minimal elements in the two sub-series int min1 = findMin(arr, left, middle); int min2 = findMin(arr, middle + 1, right); // Compare min1 and min2 to find the minimal element return (min1 < min2) ? min1 : min2; } // Sum of natural numbers with non-recursive algorithms int sum_Nonrecursive(int n){ int sum = 0; for (int i = 1; i <= n; i++) { sum += i; } return sum; } int main() { int n; cout << "Enter a positive integer n: "; cin >> n; cout << sum_Recursive(n) <<endl; cout << sum_Nonrecursive(n)<<endl; int arr[n]; cout << "Enter the elements: "; for (int i = 0; i < n; i++) { cin >> arr[i]; } int minimalElement = findMin(arr, 0, n - 1); cout << "The minimal element in the series is: " << minimalElement << endl; return 0; }