Подсчет суммы факториалов простых чисел от 0 до 100 - C (СИ)
Формулировка задачи:
Написать программу которая считает сумму факториалов простых чисел от 0 до 100.
Для вычисления суммы простых чисел
#include "stdlib.h" #include "stdio.h" #include "conio.h" #include "math.h" #include "locale.h" #include "string.h" #define N 9 int main(int argc, char *argv[]) { int i=0,s=0,j=0,sum=0,a[N]; int factor=1,y; int B=0; for(i=0; i<N; i++){ a[i] = i; } a[1]=0; for(s=2; s<N; s++){ if(a[s]!=0){ for(j=s*2; j<N; j+=s){ a[j]=0; } } } for(i=0; i<N; i++){ if(a[i]!=0){ B=a[i]; sum+=B; } } printf("%d\n", B); _getch (); }
Решение задачи: «Подсчет суммы факториалов простых чисел от 0 до 100»
textual
Листинг программы
#define N 100 double sum, f; int lastF; f = 2; lastF = 2; for(sum=2, n=3; n<=N; n+=2) { for (i=3; i*i<=n; i+=2) if (n%i==0) break; if (i*i<=n) continue; for (j=lastF+1; j<=n; j++) f *= j; lastF = n; sum += f; } printf("Сумма факториалов простых чисел %f\n", sum);
Объяснение кода листинга программы
В этом коде выполняется подсчет суммы факториалов простых чисел от 0 до 100. Вот список действий, которые выполняются в коде:
- Определяется константа N, которая равна 100.
- Инициализируются переменные sum, f и lastF. Значение переменной sum устанавливается равным 2, а значение переменной f - равным 2. Переменная lastF получает значение 2.
- Запускается цикл for, который начинается с sum=2 и n=3 и продолжается до тех пор, пока n не станет больше N. Каждый шаг цикла увеличивает n на 2.
- Внутри цикла for запускается еще один цикл for, который ищет все простые числа, которые делятся на n без остатка. Если такое число найдено, цикл прерывается.
- Если во внутреннем цикле не было найдено простых чисел, то выполняется еще один цикл for, который начинается с lastF+1 и продолжается до n. В этом цикле вычисляется факториал f путем умножения всех чисел от lastF+1 до n на f.
- После окончания внутреннего цикла переменная lastF обновляется значением n.
- К переменной sum добавляется значение переменной f.
- После окончания внешнего цикла выводится сообщение с помощью функции printf, которое содержит сумму факториалов простых чисел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д