6 条题解

  • 1
    @ 2023-7-17 17:14:46
    #include<bits/stdc++.h>
    using namespace std;
    bool niuniu(int as)
    {
        if(as==2){
            return true;
        }
        for(int i=2;i<as;i++){
            if(as%i==0){
                return false;
            }
        }
        return true;
    }
    int main()
    {
        int n;
        cin>>n;
        for(int i=2;i<=n;i++){
            if(niuniu(i)&&niuniu(n-i)==true){
                cout<<n<<"="<<i<<"+"<<n-i;
                return 0;
            }
        }
    
        return 0;
    
    }
    
    
    
    • 1
      @ 2022-7-12 17:00:14
      #include<bits/stdc++.h>
      using namespace std;
      int main() {
      	long long int n=10000;
      	int a[n+1]= {0},b[10000],c=0,k,flag=0;
      	cin>>k;	
      	for(int i=2; i<=n; i++) {
      		a[i]=i; 	//从2开始存储数据(1不为质数)
      	}
      	for(int i=2; i<=n; i++) {
      		for(int j=2; j<=sqrt(i); j++) {
      			if(i%j==0) {
      				a[i]=0;		//若i不为质数 则将其初始化为0
      				break;
      			}
      		}
      		if(a[i]!=0) {
      			b[++c]=a[i];
      		}
      	}
      	
      	
      	
      	for(int i=1;i<=c&&flag!=1;i++)
      	{
      		for(int j=1;j<=c&&flag!=1;j++)
      		{
      			if(b[i]+b[j]==k)
      			{
      				cout<<k<<"="<<b[i]<<"+"<<b[j];
      				flag=1;
      			}
      		}
      	}
      
      	return 0;
      }
      
      • 0
        @ 2025-2-24 11:27:39
        #include<bits/stdc++.h>
        using namespace std;
        int a;
        bool f(int x){
            for(int i=2;i*i<=x;i++){
                if(x%i==0){
                    return false;
                }
            }
            return true;
        }
        int main(){
            cin>>a;
            for(int i=2;i<=a;i++){
                if(f(i)&&f(a-i)){
                    cout<<a<<'='<<i<<'+'<<a-i;
                    return 0;
                }
            }
            return 0;
        }
        
        • 0
          @ 2023-1-17 10:48:19
          #include<bits/stdc++.h>
          using namespace std;
          bool s(int n){
          
          	int f = 0;
          	for (int i = 1; i <= n; i++)
          	{
          		if (n % i == 0)
          			f++;
          	}
          	if (f == 2)
          		return 1;
          	else
          		return 0;
          }
          int main() {
          	int n;
          	cin >> n;
          	for (int i = 1; i <= n; i++)
          	{
          		if (s(i) == 1)
          		{
          			int u = n - i;
          			if (s(u) == 1)
          			{
          				cout << n << "=" << i << "+" << u;
          				break;
          			}
          
          
          		}
          		else
          			continue;
          
          	}
          }
          

          函数调用+穷举

          • 0
            @ 2022-12-6 13:41:38
            #include <bits/stdc++.h>
            using namespace std;
            
            typedef pair<int,int> PII;
            const int N = 1005;
            PII p[N];
            
            bool is_prime(int n)
            {
            	for(int i=2;i<=sqrt(n);i++)
            		if(n%i == 0) return false;
            	return true;
            }
            
            int main()
            {
            	int n,cnt = 0;
            	cin >> n;
            	for(int i=2;i<=n;i++)
            	{
            		for(int j=2;j<=i;j++)
            		{
            			if(is_prime(i) && is_prime(j) && i+j == n)
            			{
            				p[cnt++] = {j,i};
            			}
            		}
            	}
            	//for(int i=0;i<cnt;i++) cout << p[i].first << " " << p[i].second  << " " << i<< endl;
            	cout << n << "=" << p[cnt-1].first << "+" << p[cnt-1].second; 
            	return 0;
            }
            
            • 0
              @ 2021-5-24 13:43:01

              C++ :

              #include <iostream>
              #include <cstdio>
              #include <cstring>
              #include <stdlib.h>
              using namespace std;
              int main()
              {
                  int n;
                  scanf("%d",&n);
                  for(int i=1;i<n;i++){
                      bool flag=true;
                      for(int k=2;k<i-1;k++){
                          if(i%k==0){
                              flag=false;
                              break;
                          }
                      }
                      if(flag==false)continue;
                      for(int j=1;j<n;j++){
                          bool doge=true;
                              for(int k=2;k<j-1;k++){
                          if(j%k==0){
                              doge=false;
                              break;
                          }
                      }
                      if(doge==false)continue;
                          if(i+j==n){
                              printf("%d=%d+%d\n",n,i,j);
                              return 0;
                          }
                      }
                  }
                  return 0;
              }
              
              • @ 2022-7-12 13:32:05

                题解有误,i和j应该都是从2开始

              • @ 2022-7-12 16:23:17

                @ 然而他上传的题解基本上没多少对的。。。

            • 1

            信息

            ID
            107
            时间
            1000ms
            内存
            128MiB
            难度
            4
            标签
            递交数
            266
            已通过
            115
            上传者