Factorial of a Number

#include <iostream>
#include <cmath>
#include <chrono>
#include <thread>
 
int factorial(int num) {
    if (num < 0) {
        std::cout << "please enter a positive number" << std::endl;
        return 0;
    }
    int factorial = 1;
    for (int i = 1; i <= num; i++) {
        factorial *= i;
    }
    return factorial;
 
}
 
int main()
{
    // caleb b
    // factorial of a number
    int num;
    std::cout << "Enter a number: " << std::endl;
    std::cin >> num;
    std::cout << "The factorial of " << num << " is " << factorial(num) << std::endl;
}

Number of Digits in a Number

#include <iostream>
#include <cmath>
#include <chrono>
#include <thread>
 
int numDigits(int num) {
    int digits = 0;
    while (num != 0) {
	    // divide by 10 repeatedly until you can't anymore
        num /= 10;
        digits++;
    }
    return digits;
 
}
 
int main() {
	// digit counter
	// caleb b
 
	// get the number
    std::cout << "Enter a number: " << std::endl;
    int num;
    std::cin >> num;
    // get the number of digits and print
    int digits = numDigits(num);
    std::cout << "Number of digits: " << digits << std::endl;
}

Extracting kth Digit of a Number

#include <iostream>
#include <cmath>
#include <chrono>
#include <thread>
 
int digit(int n, int k) {
    // get the kth digit of n
    return (n / (int)pow(10, k - 1)) % 10;
}
 
int main() {
    std::cout << "Enter a number for value n: " << std::endl;
    int n;
    std::cin >> n;
    std::cout << "Enter a number for value k: " << std::endl;
    int k;
    std::cin >> k;
    std::cout << "Digit #" << k << " of " << n << " is " << digit(n, k) << std::endl;
}