小猫647
2021-06-27 18:43
采纳率: 100%
浏览 15

n个素数的求和问题。

给定n(n≤100)个正整数,所有正整数均≤1000000;求其中所有素数的和。

例如给定序列: 2 3 4 5 6,素数和为:10

给定序列: 3 4 5 6 7, 素数和为:15

给定序列: 12 19 23 35 68 71, 素数和为: 113

输入格式
输入为两行。第一行是一个正整数n,表示有多少个数据。第二行是n个正整数组成的序列。
输出格式
输出一个正整数,是上述序列中所有素数之和。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 已采纳
    #include <stdio.h>
    int isprime( int n);
    int main()
    {
        int i,n,m,s=0;
        scanf("%d", &n);
        for( i=0; i<n; i++ ) {
            scanf("%d", &m);
            if(isprime(m)){
                s+=m;
            }
        }
        printf("%d", s);
        return 0;
    }
    int isprime(int n)
    {
        int i;
        if(n<=1) return 0;
        for(i=2;i*i<=n;i++)
            if(n%i==0) return 0;
        return 1;
    }
    

    点赞 1 评论

相关推荐 更多相似问题