赛前冲刺03"/>
【原创】【XJOI】NOIP普及组赛前冲刺03
反击的号角(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);
}
更多推荐
【原创】【XJOI】NOIP普及组赛前冲刺03
发布评论