Подсчет суммы факториалов простых чисел от 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. Вот список действий, которые выполняются в коде:

  1. Определяется константа N, которая равна 100.
  2. Инициализируются переменные sum, f и lastF. Значение переменной sum устанавливается равным 2, а значение переменной f - равным 2. Переменная lastF получает значение 2.
  3. Запускается цикл for, который начинается с sum=2 и n=3 и продолжается до тех пор, пока n не станет больше N. Каждый шаг цикла увеличивает n на 2.
  4. Внутри цикла for запускается еще один цикл for, который ищет все простые числа, которые делятся на n без остатка. Если такое число найдено, цикл прерывается.
  5. Если во внутреннем цикле не было найдено простых чисел, то выполняется еще один цикл for, который начинается с lastF+1 и продолжается до n. В этом цикле вычисляется факториал f путем умножения всех чисел от lastF+1 до n на f.
  6. После окончания внутреннего цикла переменная lastF обновляется значением n.
  7. К переменной sum добавляется значение переменной f.
  8. После окончания внешнего цикла выводится сообщение с помощью функции printf, которое содержит сумму факториалов простых чисел.

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


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

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

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