Определение наибольшего N. Использовать функцию вычисления факториала - C (СИ)
Формулировка задачи:
Дано натуральное число А.Составить программу определения такого наибольшего N,что N! < A (A>1).Использовать функцию вычисления факториала.
long fakt(int n){ return ((n==1)? 1 :n*fakt(n-1) ); }
Решение задачи: «Определение наибольшего N. Использовать функцию вычисления факториала»
textual
Листинг программы
#include <stdio.h> long fakt(int n){ return ((n==1)? 1 :n*fakt(n-1) ); } main() { long a,f=0; int n=1; printf("Enter A: "); scanf("%d",&a); do { n++; f=fakt(n); } while(f<a); printf("N = %d",n-1); }
Объяснение кода листинга программы
- Программа на языке C.
- Задача - найти наибольшее число N, для которого вычисленный факториал N меньше или равен введенному числу A.
- Факториал числа N вычисляется с помощью рекурсивной функции fakt(n).
- В функции fakt(n) используется базовый случай n=1, при котором факториал равен 1.
- В функции fakt(n) используется рекурсивный случай n*fakt(n-1), где n-1 - это факториал числа на единицу меньше n.
- В функции main() происходит ввод числа A с клавиатуры.
- Используется цикл do-while, который выполняется до тех пор, пока факториал числа N меньше или равен числу A.
- Внутри цикла увеличивается значение переменной N на единицу.
- Вычисляется факториал числа N с помощью функции fakt(n).
- Результатом работы программы является число N-1, которое является наибольшим числом, для которого факториал меньше или равен числу A.
- Число N-1 выводится на экран с помощью функции printf().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д