1 条题解

  • 0
    @ 2025-2-14 20:52:08

    C :

    #include<stdio.h>
    #include<math.h>
    int p(int m) 
    {  	int i,n=sqrt(m); 
       	if(m==1) return 0;  
    	for(i=2;i<=n;i++)
    	{
    		if(m%i==0) break;  
    	}        
    	if(i>n)    return 1;   
    	else       return 0; 
    }
    int main()
    {
    	int m,a,b;
    	scanf("%d",&m);
    	for(a=2;a<m;a++)
    	{
    		if(p(a)==1)
    		{
    			b=m-a;
    			if(p(b)==1)
    			{
    				printf("%d %d",a,b);
    				break;
    			}			
    		}
    	}
    	return 0;
     } 
    

    C++ :

    #include<iostream>
    #include<cmath>
    using namespace std;
    bool ss(int );
    int main()
    {
    	int n;
    	cin>>n;
    	int f=0;
    	for(int i=2;i<=n/2;++i)
    	if(ss(i)!=1&&ss(n-i)!=1)
    	{
    	++f	;
    	cout<<i<<" "<<n-i<<endl;
    	break;
    	}
    	return 0;
    }
    bool ss(int a)
    {
    	int x=2;
    	int b=floor(sqrt(a));
    	while(x<=b&&(a%x!=0))
    	++x;
    	if(x>b)return 0;
    	else return 1;
    }
    

    Pascal :

    var
      n,p,q,j:longint;
      fp,fq:boolean;
      begin
          readln(n);
          if n mod 2=0 then
          begin
          p:=1;
          repeat
          p:=p+1;
          q:=n-p;
          fp:=true;
          for j:=2 to trunc(sqrt(p)) do
            if p mod j=0 then fp:=false;
            fq:=true;
          for j:=2 to trunc(sqrt(q)) do
            if q mod j=0 then fq:=false;
            until fp and fq;
            writeln(p,' ',q);
          end;
      end.
    
    • 1

    信息

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