我写的这个代码和题目得出结果不符请问我应该怎么改

img

img

哈喽,阶乘和用一层循环就可以了,有用请点采纳哦~

#include <stdio.h>
void main()
{
    int i, n, k = 1, s = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        k *= i;
        s += k;
    }
    printf("%d", s);
}
#include <stdio.h>
 
int main()
{
    int n, x,i, flag;
    scanf("%d", &n);
    for(x = 1; x < n; x++){
        flag = 0;
 
        for(i = 2; i < x/2; i++)
        {
            if(x % i == 0)
            {
                flag = 1;
                break;
            }
        }
 
        if (flag == 0)
            printf("%d ", x);
 
    }
  
    return 0;
}