#include<iostream> #include<cmath> using namespace std; int isprime(int n){ if(n==0||n==2||n==3) return 1;//0不是素数,题目有问题 if(n%6!=1&&n%6!=5) return 0; for (int i = 5; i <= sqrt(n); i+=6) { if(n%i==0||n%(i+2)==0) return 0; } return 1; } int main(){ int flag=0,sum; int h1,m1,h2,m2,a=0,b=0; while(~scanf("%d:%d%d:%d",&h1,&m1,&h2,&m2)){ sum=0; a=h1*60+m1; b=h2*60+m2; //if(a==0&&b==0) sum++; for(int i=a;i<=b;i++){ if(isprime(i/60*2500+i%60)) sum++; } printf("%d\n",sum); } return 0; } |
Double click to view unformatted code.