35 lines
1.3 KiB
C
35 lines
1.3 KiB
C
|
|
// ============================================================
|
|||
|
|
// Вычисление факториала числа (простая версия)
|
|||
|
|
// ============================================================
|
|||
|
|
|
|||
|
|
#включить <stdio.h>
|
|||
|
|
|
|||
|
|
цел главн(пусто) {
|
|||
|
|
цел число, ш;
|
|||
|
|
длин результат = 1; // используем long, т.к. факториал быстро растет
|
|||
|
|
|
|||
|
|
printf("=== ВЫЧИСЛЕНИЕ ФАКТОРИАЛА ===\n");
|
|||
|
|
printf("Введите целое число (0-20): ");
|
|||
|
|
scanf("%d", &число);
|
|||
|
|
|
|||
|
|
// Проверка ввода
|
|||
|
|
если (число < 0) {
|
|||
|
|
printf("Ошибка: факториал определен только для неотрицательных чисел!\n");
|
|||
|
|
возврат 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
если (число > 20) {
|
|||
|
|
printf("Предупреждение: результат может не поместиться в 64-битное число!\n");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Вычисление факториала
|
|||
|
|
для (ш = 2; ш <= число; ш++) {
|
|||
|
|
результат *= ш;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Вывод результата
|
|||
|
|
printf("%d! = %ld\n", число, результат);
|
|||
|
|
// Убрал строку с размером, т.к. она вызывает ошибку
|
|||
|
|
|
|||
|
|
возврат 0;
|
|||
|
|
}
|