6 条题解

  • 1
    @ 2024-2-6 12:27:36

    直接用函数暴力枚举即可~

    已AC,请放心食用

    #include <bits/stdc++.h>
    using namespace std;
    int prime(int n)
    {
        bool fact = true;
        for (int i = 2; i < n; i++)
        {
            if (n % i == 0)
            {
                fact = false;
                break;
            }
        }
        return fact;
    }
    int main()
    {
        int n, sum = 0;
        cin >> n;
        for (int i = 2; i <= n; i++)
        {
            if (prime(i))
            {
                sum += i;
            }
        }
        cout << sum;
        return 0;
    }
    

    养成好习惯,看后点个赞😎!

    • 1
      @ 2022-5-22 15:40:31

      主要是判断质数,如果为质数就和累加即可;遍历2-n之间所有的数,挨个进行判断,如果是质数求和

              int num =0;
              for(int j=2;j<i;j++){
                  if(i%j==0){
                      num++;
                      break;
                  }
              }
              if(num==0){
                  //是质数 求和累加即可
              }
      
      • 0
        @ 2024-5-7 22:16:05
        #include <bits/stdc++.h>
        using namespace std;
        int n;
        int primes[1010],k,ans;
        bool f[1010];
        int main(){
        	cin>>n;
        	for (int i=2;i<=n;i++){
        		if (!f[i])primes[++k]=i;
        		for (int j=1;primes[j]*i<=n;j++){
        			f[primes[j]*i]=true;
        			if (i%primes[j]==0)break;
        		}
        	}
        	for (int i=1;i<=k;i++)ans+=primes[i];
        	cout<<ans;
        	return 0;
        }
        
        • 0
          @ 2022-12-16 20:36:07

          暴力警告

          #include <iostream>//hetao3097453
          using namespace std;
          bool sushu(int n)
          {
              for(int i = 2;i < n;i++)
              {
                  if(n % i == 0)
                  {
                      return false;
                  }
              }
              return true;
          }
          int main()
          {
              int j,sum = 0;
              cin >> j;
              for(int i = 1;i <= j;i++)
              {
                  if(sushu(i))
                  {
                      sum += i;
                  }
              }
              cout << sum - 1;
              return 0;
          }
          
          
          • 0
            @ 2022-11-15 19:22:26

            同志们,直接打表不香吗?


            核心代码

            q=[2,3,5,7……997]#1000以内所有的质数
            
            ————
            
            ————
            s=0
            for i in q:
            
                ———
                s+=i
            print(s)
            #自己思考如何补全
            

            打表代码

            for i in range(2,n):
            flag=1
            if i**2>n:#小于平方根的数就不要判断了,break
            break
            if n%i==0:
            flag=0
            if flag:
            q.append(i)
            

            Loading:17/100……^_^

            • 0
              @ 2022-7-26 22:32:40
              #include <iostream>
              using namespace std;
              bool is_prime(int n) {                          //质数判断程序
              	if(n <= 1) {
              		return false;
              	}
              	for(int i = 2; i * i <= n; i++) {           //折半查找因数
              		if(n % i == 0) {
              			return false;
              		}
              	}
              	return true;
              }
              int n, sum = 0;
              int main() {
              	cin >> n;
              	for(int i = 2; i <= n; i++) {               //暴力枚举
              		if(is_prime(i)) {
              			sum += i;
              		}
              	}
              	cout << sum << endl;
              	return 0;
              }
              • 1

              信息

              ID
              1236
              时间
              1000ms
              内存
              256MiB
              难度
              7
              标签
              递交数
              786
              已通过
              210
              上传者