hdu 分拆素数和

输入一个数后,分别判断和为这个数的两个数是否为素数;

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
 long n,i,t,k,r,s,j;
 while(scanf("%ld",&n)!=EOF&&n!=0)     //n=0时输出;
 {                                                         
  s=0;
  for(i=2;i<n/2;i++)                             
  {
   t=1;r=1;
   for(j=2;j<=sqrt(i);j++)
   {
    if(i%j==0)
    {
     t=0;
     break;                                        //当出现i为合数是,t=0,跳出循环;
    }
   }
   for(k=2;k<=sqrt(n-i);k++)
   {
    if((n-i)%k==0)
    {
     r=0;
     break;                                       //当出现n-i为合数是,t=0,跳出循环;
    }
    }
   }
   if(t==1&&r==1)
   {
    s++;
   }
  }
  printf("%ld ",s);
 }
 return 0;
}

原文地址:https://www.cnblogs.com/aisuiyuan/p/4451413.html