2003.素数求和C语言

img

img


有N个数(0<N<1000),求N个数中所有的素数之和。C语言问题

写个求素数的函数,遍历N个数,是素数就累加求和,代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int prime(int n)
{
    int i;
    if (n < 2) return 0;
    for (i = 2; i < n; i++)
    {
        if (n % i == 0)
            return 0;
    }
    return 1;
}

int main()
{
    int M, i, j, N;
    int a[1000];
    int sum = 0;
    scanf("%d", &M);
    for (i = 0; i < M; i++)
    {
        scanf("%d", &N); //数据的个数
        sum = 0;
        for (j = 0; j < N; j++)
        {
            scanf("%d", &a[j]);
            if (prime(a[j]))
                sum += a[j];
        }
        printf("%d\n", sum);
            
    }
    return 0;
}



#include <stdio.h>
int isPrime(int n)
{
    if (n < 2) 
        return 0;
    for (int i = 2; i*i <= n; i++)
    {
        if (n % i == 0)
            return 0;
    }
    return 1;
}
 
int main()
{
    int N,M, n;
    scanf("%d", &M);
    for (int i = 0; i < M; i++)
    {
        scanf("%d", &N); //数据的个数
        int sum = 0;
        for (int j = 0; j < N; j++)
        {
            scanf("%d", &n);
            if(isPrime(n))
                sum += n;
        }
        printf("%d\n", sum);  
    }
}
 
 
 

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632