C++ program to find if n factorial is divisible by sum of first n numbers or not

C++ program to find if n factorial is divisible by sum of first n numbers or not:

In this post, we will learn how to find the n factorial is divisible by sum of first n numbers or not. This program will take the value of n as input from the user and print one message that it is divisible by the sum of first n or not.

Algorithm:

Our program will take the value of n and it will use two different functions to:

  • Calculate the factorial.
    • Factorial of a number is equal to the product of all numbers from 1 to n. So, we will write one function that will find the products from 1 to n.
  • Calculate the sum from 1 to n.
  • Check if both of these values are equal or not.

C++ program:

Let’s write down the program:

#include <iostream>
using namespace std;

int findFactorial(int n)
{
    int factorial = 1;

    for (int i = 1; i <= n; i++)
    {
        factorial *= i;
    }

    return factorial;
}

int findSum(int n)
{
    return n * (n + 1) / 2;
}

int main()
{
    int n;

    cout << "Enter the value of n: " << endl;
    cin >> n;

    int factorial = findFactorial(n);
    int sum = findSum(n);

    if (sum == factorial)
    {
        cout << "Both sum and factorial values are equal" << endl;
    }
    else
    {
        cout << "Sum and factorial values are not equal" << endl;
    }
}

Here,

  • findFactorial method is used to find the factorial for a number. It takes one int value as the parameter and returns the factorial for that number.
    • This method creates one integer variable factorial initialized as 1.
    • It runs one for loop from i = 1 to i = n.
      • On each iteration, it multiplies the value of i with factorial.
    • Once the loop ends, factorial variable holds the factorial of n.
  • findSum method is used to find the sum of 1 to n. It takes the value of n and returns the sum.
  • The program is taking the value of n as an input from the user and storing that value in the variable n.
  • It calculates the factorial and sum, stores these values in factorial and sum integer variables.
  • The final if-else block check if both sum and factorial are equal or not. Based on that, it prints one message.

Sample output:

If you run this program, it will print output as like below:

Enter the value of n:
3
Both sum and factorial values are equal

Enter the value of n:
10
Sum and factorial values are not equal

C++ find n factorial divisible by sum of 1 to n

You might also like: