3 条题解

  • 3
    @ 2022-10-27 21:00:55

    这题其实很简单,不用像@源老师 一样筛出质数 (但是用时很长)

    上代码!

    #include<bits/stdc++.h>
    using namespace std;
    
    bool isprime(long long n){
    	for(int i = 2;i * i <= n;i++){//i * i 是 <= n;不然类似4这种数就会判断出错
    		if(n % i == 0)return false;
    	}
    	return true;
    }
    
    int main(){
    	long long n;
    	while(cin >> n){//while(cin >> n) ==> while(1)cin >> n;
    		if(n == 0)break;
    		else{
    			for(int i = 2;i < n;i++){
    				if(isprime(i) && isprime(n - i)){
    					printf("%d = %d + %d\n",n,i,n - i);//printf优化一点点时间
    					break;
    				}
    			}
    		}
    	}
    }
    
    • @ 2022-12-27 14:51:49

      你得加万能头文件!!!

      AC代码

      #include <bits/stdc++.h>
      using namespace std;
      bool isprime(long long n)
      {
      	for(int i = 2;i * i <= n;i++){//i * i 是 <= n;不然类似4这种数就会判断出错
      		if(n % i == 0)return false;
      	}
      	return true;
      }
      int main()
      {
      	long long n;
      	while(cin >> n){//while(cin >> n) ==> while(1)cin >> n;
      		if(n == 0)break;
      		else{
      			for(int i = 2;i < n;i++){
      				if(isprime(i) && isprime(n - i)){
      					printf("%d = %d + %d\n",n,i,n - i);//printf优化一点点时间
      					break;
      				}
      			}
      		}
      	}
      }
      
    • @ 2023-2-1 20:35:25

      @OK

  • 1
    @ 2024-1-16 14:04:43

    5下数学,2单元最后一个,不信自己去看,别问我怎么知道的

    • -1
      @ 2022-7-14 19:59:47

      筛法筛出质数以后

      对每一个输入的n进行枚举即可

      • 1

      信息

      ID
      1907
      时间
      1000ms
      内存
      256MiB
      难度
      8
      标签
      递交数
      426
      已通过
      66
      上传者