版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mml5211314/article/details/50185175
特殊的比赛日期
时间限制: 1 Sec 内存限制: 128 MB题目描述
KK今天参加河南理工大学ACM程序设计竞赛,他发现今天是11月29号,刚好11和29都是素数(只能被1和自己本身整除的数叫做素数),于是他想知道今年(2015年)的某天之前(不含当天)一共有多少天是月份和天数都是素数。
输入
第一行输入一个整数t(1<t<366),代表t组测试数据。
接下来每行输入一个日期,仅包含(月份和天数),格式形如(yy-dd)。
输入时保证日期全部属于合法日期。
输出
输入yy-dd天之前有多少天的日期同时满足yy和dd同时为素数。
样例输入
3 2-2 2-5 2-15
样例输出
0 2 6
//注意几个特殊的地方就行了
#include<cstdio>
#include<cstring>
#include<cmath>
int fun(int s)
{
int k=0;
for (int i=2;i<s;i++)
{
if (s%i==0)
k++;
}
if(!k)
return 1;
else
return 0;
}
int main()
{
int m,y,d,n;
int a[14]={0,0,9,11,0,11,0,11,0,0,0,10,0};
scanf ("%d",&n);
while (n--)
{
long long sum=0,summ=0;
scanf ("%d-%d",&y,&d);
if ((y<=0&&d<=0)||(y==2&&d>28))
break;
else
{
for (int i=2;i<y;i++)
{
if (fun(i))
sum+=a[i];
}
if (y==2||y==3||y==5||y==7||y==11)
{
for (int j=2;j<d;j++)
{
if (fun(j))
summ++;
}
}
printf ("%lld\n",sum+summ);
}
}
return 0;
}