#include <stdio.h>
int main() {
int number, i;
unsigned long long factorial = 1; // Use unsigned long long for large results
// Asking the user to input a positive integer
printf("Enter a positive integer: ");
scanf("%d", &number);
// Factorial of negative numbers doesn't exist
if (number < 0) {
printf("Factorial of a negative number doesn't exist.\n");
} else {
// Calculating factorial
for (i = 1; i <= number; ++i) {
factorial *= i; // Multiply factorial by i
}
// Output the result
printf("Factorial of %d = %llu\n", number, factorial);
}
return 0;
}
Explanation:
Returning 0: The program returns 0 to indicate successful execution.cCopy codereturn 0;
Including the standard input-output library: We include the stdio.h header file so we can use printf for output and scanf for input.cCopy code#include <stdio.h>
Main function: The program execution begins with the main() function.cCopy codeint main() { ... }
Declaring variables:
numberstores the input number.iis the loop counter used to calculate the factorial.factorialis initialized to 1 and is used to store the result of the factorial calculation. We useunsigned long longbecause the factorial of larger numbers can get very large quickly.
int number, i; unsigned long long factorial = 1;
User input: We prompt the user to input a positive integer using printf, and scanf stores the number in the number variable.cCopy codeprintf("Enter a positive integer: "); scanf("%d", &number);
Checking for negative input: Factorial is not defined for negative numbers. If the user inputs a negative number, the program prints an error message.cCopy codeif (number < 0) { printf("Factorial of a negative number doesn't exist.\n"); }
Calculating the factorial:
- If the input is a positive number or zero (because the factorial of 0 is 1), the program uses a
forloop to multiply numbers from 1 to the inputnumber. - For example, if the user enters
5, the loop will perform:1 * 2 * 3 * 4 * 5, and store the result infactorial.
for (i = 1; i <= number; ++i) { factorial *= i; }
Displaying the result: After calculating the factorial, the program prints the result using printf. The format specifier %llu is used to print an unsigned long long integer.cCopy codeprintf("Factorial of %d = %llu\n", number, factorial);
OUTPUT
Enter a positive integer: 5
Factorial of 5 = 120
Enter a positive integer: 0
Factorial of 0 = 1
Enter a positive integer: -3
Factorial of a negative number doesn’t exist.
Summary:
This program checks for negative input, calculates the factorial using a loop, and handles large numbers using unsigned long long.
The factorial of a number is the product of all positive integers from 1 to that number.
For example, the factorial of 5 is 5! = 5 * 4 * 3 * 2 * 1 = 120.