View Code of Problem 120

#include<stdio.h>
#include<string.h>
#include<math.h>
struct stu{
	int hour;
	int minute;
}party;
int su(int a)
{
  int i;
  if(a==1||a==0) return 0;
  if(a==2)return 1;
  if(a>2){
  for(i=2;i<=sqrt(a);i++)
     {
     if(a%i==0)
       break;
      }
  
  if(i>sqrt(a))
  return 1;}
}
int main()
{
	struct stu party[10];
	int h[10],i=0,b,j;
   while(scanf("%d:%d",&party[0].hour,&party[0].minute)!=EOF)	
	{
    scanf("%d:%d",&party[1].hour,&party[1].minute);
	//h[0]=party[0].hour*2500+party[0].minute; 
	//h[1]=party[1].hour*2500+party[1].minute;
	b=party[1].hour-party[0].hour;
	int k=0;
 
	 if(b==0)
        {
            for(i = party[0].minute;i <= party[1].minute;i++)
            {
                if(su(2500 * party[1].hour + i)==1)
                   k++;
            }
        }
     else 
        {
            for(i = party[0].minute;i<= 59;i++)
            {
                if(su(2500 * party[0].hour + i))
                    k++;
            }
            for(i = 0;i <= party[1].minute;i++)
            {
                if(su(2500 * party[1].hour + i))
                    k++;
            }
        
         if(b>=2)
            {
                for(j =party[0].hour + 1;j < party[1].hour;j++)
                {
                    for(i = 0;i < 60;i++)
                    {
                        if(su(2500 * j + i))
                            k++;
                    }
                }
            }
        }
            
            printf("%d\n",k);
        }
        
    
   return 0;
}

Double click to view unformatted code.


Back to problem 120