Вычислить сумму факториалов всех введенных чисел - C (СИ) (71021)

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

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

С клавиатуры вводится строго возрастающая последовательность натуральных чисел до тех пор, пока произведение трех соседних введенных чисел не превысит 100. Вычислить сумму факториалов всех введенных чисел. Эта работа должна быть выполнена как можно эффективнее, без повторов

Решение задачи: «Вычислить сумму факториалов всех введенных чисел»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int i, sum = 0, nf = 1, n3 = 1, A[12];
    puts("Enter an increasing sequence of positive integers:");
    for(i = 0; 1; ++i){
        printf("Enter %d number:", i + 1);
        scanf("%d", &A[i]);
        if(A[i] < 0){
            puts("Error:Enter positive integers only!");
            exit(1);
        }
        if(i >= 1 && A[i] <= A[i - 1]){
            puts("Error:Sequence must be increasing!");
            exit(2);
        }
        if(i + 1 >= 3)
            n3 = A[i] * A[i - 1] * A[i - 2];
        if(n3 > 100) {
            puts("Product of three neighboring entered numbers exceeded 100.");
            break;
        }
        if(A[i] != 0){
            nf = 1;
            for(int j = 1; j <= A[i]; ++j)
                nf *= j;
        }
        else
            nf = 1;
        sum += nf;
    }
    printf("Sum n! entered numbers is %d\n", sum);
    return 0;
}

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


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

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

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