标签:
HDNoip201502统计质数 |
难度级别:B; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
试题描述
|
Jam看着趣味数学书上从中心一圈圈向外盘绕的数字方阵(见示意图),忽然发现前4个质数恰好是前4个拐点,他突发奇想地猜测:“所有拐点上的数会不会都是质数?”或者“位于拐弯位置(拐点)的数中包含质数的比例很高?”你能否编程帮他解决“前n个拐点中有多少个是质数?”的问题? 示意图 7 6 5 ↓←← |
输入
|
只有一个正整数n。
|
输出
|
只有质数总数这一个正整数。
|
输入示例
|
6
|
输出示例
|
5
|
其他说明
|
数据范围:对于100%的数据,n<10000。
|
很简单的一道小题。昨天看到有同学把图构造出来了,其实根本没必要,又费时间又费空间,找到规律就可以了。代码如下:
#include<iostream> #include<cstdio> using namespace std; int n,s,t,ans; bool is_prime(int i) { for(int j=2;j*j<=i;j++) if(i%j==0) return 0; return 1; } int main() { scanf("%d",&n); for(int i=2;s<n;i+=t) { s++; if(is_prime(i)) ans++; if(s%2==0||s==1) t++; } printf("%d",ans); //system("pause"); }
标签:
原文地址:http://www.cnblogs.com/xiaoshenWXY/p/4822581.html