aboutsummaryrefslogtreecommitdiff
path: root/Project1/program.cpp
blob: 2fb47274d5022ed9f8926ef4b470944c50881eb5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include "helpers.h"

long factorial(int n) {
    if (n == 0 || n == 1)
        return 1;
    else
        return n * factorial(n - 1);
}

int fibonacci(int n) {
    if (n <= 1)
        return n;
    else
        return fibonacci(n - 1) + fibonacci(n - 2);
}

double power(double base, int exponent) {
    if (exponent == 0)
        return 1;
    else if (exponent > 0)
        return base * power(base, exponent - 1);
    else
        return (1 / base) * power(base, exponent + 1);
}

int main() {
    int n;
    double base;
    int exponent;

    // Factorial calculation
    std::cout << "Enter a number to calculate its factorial: ";
    std::cin >> n;
    std::cout << "Factorial of " << n << " is: " << factorial(n) << std::endl;

    // Fibonacci sequence
    std::cout << "Enter the term number to find in Fibonacci sequence: ";
    std::cin >> n;
    std::cout << "Term number " << n << " in Fibonacci sequence is: " << fibonacci(n) << std::endl;

    // Power function
    std::cout << "Enter base and exponent to calculate power (base (space) exponent): ";
    std::cin >> base >> exponent;
    std::cout << base << " raised to the power of " << exponent << " is: " << power(base, exponent) << std::endl;

    return 0;
}