您的位置:首页 > 其它

【原创】【XJOI】NOIP普及组赛前冲刺03-第一题-反击的号角(bugle)

2016-11-18 13:59 316 查看
反击的号角(bugle)






输入格式:




输出格式:

输出仅一行,为一个整数,即没有帝国军重兵把守的地区数量。


样例输入:

3 3 4
4 5 4



样例输出:

2



数据范围:




时间限制:

1S


空间限制:

256M


提示:

这是一道很水的题,但是里面有很多坑,导致我被坑得只得0分!
首先讲一讲基本思路:读入这个数,看它加上上一个数是不是质数,就可以了。
但是!!!!!
它加上的不是上一个数,而是上一个符合条件的数!
其次,判断质数时,循环条件应该为“i<=sqrt(p)”,但是,如果你这么写,每循环一次都要算一次sqrt(),在判断,很耗时。所以应该用个变量存起来。
然后……
详见代码吧:
#include<cstdio>
#include<cmath>
int nowone,last=0,sum,m,n,moded,ans;
int guessing(int p)
{
if(p==2) return 1;
int ay=sqrt(p);
for(int i=2;i<=ay;i++)
if(p%i==0) return 0;
return 1;
}
int main()
{
scanf("%d %d %d",&m,&n,&moded);
ans=m;
for(int i=1;i<=n;i++)
{
scanf("%d",&nowone);
sum=last+nowone;
if(guessing(sum)==0) ans--;
else last=nowone%moded;
}
printf("%d",ans);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: