Redraiment猜想


Description

redraiment在家极度无聊,于是找了张纸开始统计素数的个数。

设函数f(n)返回从1->n之间素数的个数。

redraiment发现:

f(1) = 0

f(10) = 4

f(100) = 25

满足g(m) = 17 * m2 / 3 - 22 * m / 3 + 5 / 3

其中m为n的位数。

他很激动,是不是自己发现了素数分布的规律了!

请你设计一个程序,求出1->n范围内素数的个数,来验证redraiment是不是正确的,也许还可以得诺贝尔奖呢。^_^


Input

输入包括多组数据。

每组数据仅有一个整数n (1≤n≤10,000,000)。

输入以0结束


Output

对于每组数据输入,输出一行,为1->n(包括n)之间的素数的个数


Sample Input

1

10

65

100

0


Sample Output

0

4

18

25


思路:

这道题好,卡空间卡时间,还有掌握素数筛选的方法。

循环到 j < sqrt(MAX)+1/i 就好了

还有一个menset()的用法:

头文件是,string.h 参照样例,可以将所有bool数组化为true

  1. /*
  2. Title: AOJ 7
  3. Date: 2016-9-24
  4. Author: pengwill
  5. */
  6. #include<stdio.h>
  7. #include<math.h>
  8. #include<string.h>
  9. #define MAX 10000000
  10. bool a[MAX+1]={true};
  11. int count[MAX+1]={0};
  12. using namespace std;
  13. int main()
  14. {
  15. memset(a,true,sizeof(a));//初始化变量
  16. int i=0,j=0,n=sqrt(MAX)+1;
  17. a[1] = false;
  18. a[2] = true;
  19. for(i=2;i<=n;i++) //筛选循环
  20. for(j=2;j<=MAX/i;j++)
  21. a[j*i]=false;
  22. for(i = 1;i<=MAX;i++){//记录个数
  23. count[i] = count[i-1] + a[i];
  24. }
  25. int number;//输出数据
  26. while(scanf("%d",&number)!=EOF &&number){
  27. printf("%d\n",count[number]);
  28. }
  29. return 0;
  30. }

AOJ 7.Redraiment猜想的更多相关文章

  1. YTU 1007: Redraiment猜想

    1007: Redraiment猜想 时间限制: 1000 Sec  内存限制: 10 MB 提交: 83  解决: 23 题目描述 redraiment在家极度无聊,于是找了张纸开始统计素数的个数. ...

  2. 杭电ACM分类

    杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...

  3. 转载:hdu 题目分类 (侵删)

    转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...

  4. hdu1282回文数猜想

    Problem Description 一个正整数,如果从左向右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数.任取一个正整数,如果不是回文数,将该数与他的倒序数相加,若其 ...

  5. AOJ 0121: Seven Puzzle【BFS】

    From: AOJ 0121 思路:与前几题的bfs不同,这次的bfs没有明确的移动对象,看似任意一个数都可以当成对象移动.这时我们只需要抓住一个格子就行,比如我们把0作为移动对象,那么0在地图中漫游 ...

  6. Euler猜想

    这是从http://duodaa.com/blog/index.php/archives/538/截得图,以下是代码 package math; import java.math.BigDecimal ...

  7. 深入JavaScript:词法分析、连续赋值猜想

    JavaScript:词法分析.连续赋值猜想 原创文章,转摘请注明出处:苏福:http://www.cnblogs.com/susufufu/p/5851642.html 深夜发文,先吐槽下博客园的编 ...

  8. AOJ DSL_2_C Range Search (kD Tree)

    Range Search (kD Tree) The range search problem consists of a set of attributed records S to determi ...

  9. 害死人不偿命的(3n+1)猜想

    卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在1950年的世界数 ...

随机推荐

  1. jmeter的脚本增强之参数化

    jmeter作为一款开源的测试工具,功能广泛,深受测试同胞们的喜爱,这次来讲讲关于如何参数化及其方式.那为什么要进行一个参数化呢,如做压测时,要有大量的数据来模拟用户的真实场景,像登录页面操作,系统是 ...

  2. 【checkbox-group、checkbox】 多项选择器组件说明

    checkbox-group组件包裹checkbox组件的容器 原型: <check-group bindchange="[EventHandle]"> <che ...

  3. 油田 (Oil Deposits UVA - 572)

    题目描述: 原题:https://vjudge.net/problem/UVA-572 题目思路: 1.图的DFS遍历 2.二重循环找到相邻的八个格子 AC代码: #include <iostr ...

  4. 简单说明hadoop集群运行三种模式和配置文件

    Hadoop的运行模式分为3种:本地运行模式,伪分布运行模式,集群运行模式,相应概念如下: 1.独立模式即本地运行模式(standalone或local mode)无需运行任何守护进程(daemon) ...

  5. day-17 L1和L2正则化的tensorflow示例

    机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1-norm和ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数.L2范数也被称为权重衰 ...

  6. POJ 3608 Bridge Across Islands(计算几何の旋转卡壳)

    Description Thousands of thousands years ago there was a small kingdom located in the middle of the ...

  7. c语言乐曲演奏——《千本樱》

    这个程序着实花费了我好长的时间,我本身对音乐一窍不通,先是跟着girl friend学习了简谱,根据c调44拍的<千本樱>写下了下面的程序. #include<stdio.h> ...

  8. C与C++,面向过程与面向对象

    C与C++在电梯处理上的不同 (注:个人理解) 对比区别: C语言程序制定具体流程,按流程逐步进行. C++程序将过程结构化,需要使用时利用接口访问与调用不同功能的类结构结构. 电梯类代码 电梯类定义 ...

  9. Khan Academy

    Khan Academy是一个免费的学院. 致力于教育改革. 百度百科:ohn Resig 百度百科有记者采访,采访内容比较有意思.

  10. ALPHA-3

    前言 失心疯病源3 团队代码管理github 站立会议 队名:PMS 530雨勤(组长) 今天完成了那些任务 16:00~20:18 援助行人模块并确定最终框架,顺便不死心的又找了一波车辆检测的dem ...