Можно ли представить факториал числа "n" в виде произведения трёх последовательных целых чисел? - C (СИ)

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

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

Помогите пожалуйста... Нужно решить через

операторы цикла

Дано натуральное число n . Выяснить, можно ли представить n!=1*2*3*...*n в виде произведения трёх последовательных целых чисел. Желательно с разъяснениями. Заранее благодарен. Байт мне уже помогал, спасибо ему, но реально, я там ничего не понял(

Решение задачи: «Можно ли представить факториал числа "n" в виде произведения трёх последовательных целых чисел?»

textual
Листинг программы
#include <stdio.h>
 
typedef unsigned long long number_t;
#define NUM_PRESENT "%llu"
 
number_t fact(number_t n) {
    return ( n > 1 ) ? n * fact(n - 1) : 1;
}
 
int main(void) {
    number_t n, a, b, c;
    
    while ( printf("Number: ") && scanf(NUM_PRESENT, &n) == 1 ) {
        n = fact(n);
        printf("Factorial: " NUM_PRESENT "\n", n);
        for ( a = 1, b = 2, c = 3; a * b * c < n; ++a, ++b, ++c )
            ;
        if ( a * b * c > n )
            printf("No way!\n");
        else
            printf(NUM_PRESENT " X " NUM_PRESENT " X " NUM_PRESENT "\n", a, b, c);
    }
    
    return 0;
}

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

В этом коде:

  1. Факториал числа n вычисляется с помощью рекурсивной функции fact.
  2. В функции main пользователю предлагается ввести число n.
  3. Если число n больше 1, то вычисляется его факториал с помощью функции fact.
  4. Затем в цикле перебираются три последовательных целых числа начиная с 1, 2 и 3 до тех пор, пока их произведение не станет равным или больше факториала n.
  5. Если произведение трех последовательных целых чисел становится больше факториала n, то выводится сообщение No way!.
  6. В противном случае выводится сообщение с тремя последовательными целыми числами, чье произведение равно факториалу n.

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


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

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

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