Составить программу определения такого наибольшего N,что N! < A - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет.Помогите,пожалуйста,написать к этой задаче код и блок-схему(первоочередно),буду очень признателен. Дано натуральное число А.Составить программу определения такого наибольшего N,что N! < A (A>1)
Ребяяята,помогайте =С

Решение задачи: «Составить программу определения такого наибольшего N,что N! < A»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
// Факториал определён только для целых неотрицательных чисел.
// функция работает для небольших положительных целых чисел
long long factorial( int n ) {
    long long result = 1;
 
    int i;
    for ( i = 2; i <= n; ++i )
        result *= i;
 
    return result;
}
 
int main( void ) {
 
    int a;
    while ( 1 ) {
        printf( "Введите натуральное число A " );
        scanf( "%d", &a );
 
        if ( a <= 1 ) {
            printf( "Неверный ввод!\n" );
            continue;
        }
 
        break;
    }
 
    int n = 2;
    while ( factorial( n++ ) < a )
        ;
 
    printf( "Искомая величина N = %d", n - 2 );
 
    return EXIT_SUCCESS;
}

Объяснение кода листинга программы

  1. В программе определена функция factorial, которая вычисляет факториал числа n.
  2. В функции main создается бесконечный цикл, в котором происходит запрос на ввод числа a.
  3. Если число a меньше или равно 1, то выводится сообщение об ошибке и цикл продолжается.
  4. Если число a больше 1, то цикл прерывается и выполняется следующий код.
  5. Переменная n инициализируется значением 2.
  6. В цикле while вычисляется факториал числа n с помощью функции factorial.
  7. Если факториал числа n меньше числа a, то цикл продолжается.
  8. Когда факториал числа n становится больше или равен числу a, цикл прерывается.
  9. Выводится значение переменной n минус 2, которое является искомой величиной N.
  10. Программа завершается с кодом успеха EXIT_SUCCESS.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5
Похожие ответы