4 条题解

  • 2
    @ 2024-7-15 23:41:02

    可以提前学一下素数筛。 头文件以及核心代码展示↓

    //c++版
    #include <bits/stdc++.h>//万能头(字面意思)
    //using namespace std;
    //bitset是一个优化,感兴趣可以查一查
    std::bitset<100000000> box;//存放结果
    
    //c版
    #include <stdio.h>
    #include <stdbool.h>
    bool box[10000];//存放结果
    
    void su()
    {
    box[0]=1;box[1]=1;
    for(int i=2;i<10000/*筛选范围*/;++i)
    {
    if(!box[i])
    {
    for(int j=i*2;j<10000/*筛选范围*/;j+=i)
    {
    box[j]=1;
    }
    }
    }
    }
    //最后数值为零(false)的就是素数
    
    • 0
      @ 2024-10-19 8:55:24

      #include<stdio.h>

      #include <stdio.h>

      int isPrime(int num) { if (num < 2) { return 0; }

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

      int main() { int N,n,a,sum=0; scanf("%d",&N); while(N--) { scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&a); if(isPrime(a)) { sum+=a; } } printf("%d\n",sum); sum=0; } return 0;

      }

      • 0
        @ 2023-9-20 23:51:06
        #include<stdio.h>
        #include<math.h>
        int main()
        {
        int a,q,n,m;
        scanf("%d",&a);
        for(int w=0;w<a;w++)
        {
        scanf("%d",&q);
        int sum=0;
        for(int d=0;d<q;d++)
        	{
        	scanf("%d",&n);
        
        	int c=0;
        	m=sqrt(n);
        
        	for(int i=2;i<=m;i++)
        	{
            if(n%i==0)
            c=1;
            }
            if(c==0)
        	sum+=n;
        	if(n==1)
        	sum--;
        
        
        	}
        	printf("%d\n",sum);
        }
        }
        
        • 0
          @ 2023-8-15 17:31:14
          #include<stdio.h>
          #include <math.h>
          int main()
          {
          int m,n,i,j,a[1000],flag=0;
          long s;
          scanf("%d",&m);
          while(m--)
          {
          s=0;
          scanf("%d",&n);
          for(i=0;i<n;i++)
          scanf("%d",&a[i]);
          for(i=0;i<n;i++)
          {
          if(a[i]==1)	continue;
          flag=0;
          for(j=2;j<=sqrt(a[i]);j++)
          {
          if(a[i]%j==0)
          {flag=1;break;}
          }
          if(flag==0)	s+=a[i];
          }
          printf("%d\n",s);
          }
          return 0;
          }
          
          • 1

          信息

          ID
          61
          时间
          1000ms
          内存
          128MiB
          难度
          6
          标签
          (无)
          递交数
          1614
          已通过
          443
          上传者