Вычислить сумму факториалов всех введенных чисел - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д