题目:要求输出所有小于等于n的素数(n>=2,且为正整数)

要求:1、每行输出10个素数

   2、尽可能采用较优算法

#include<iostream>

#include<cmath>

#include<iomanip>

using namespace std;

bool Prime(int);      //函数声明

int main()

{

  int input;

  cout<<"please intput a number(>=2):";

  cin>>input;

  static int count = 0;    //count为累计的每行素数个数

  if(input >= 2)

  {

    cout<<setw(4)<<2;

    count++;

  }

  for(int i = 3; i<=input; i+=2)

  {

    if(Prime(i))

    {

      cout<<setw(4)<<i;

       count++;

    }

    if((count != 0) && (count%10 == 0))    //每行最多显示10个素数

      cout<<endl;

  }

  cout<<endl;

  return 0;

}

bool Prime(int n)              //判断是否为素数

{

  int m = (int)sqrt(n);

  for(int i = 2; i <= m; i++)

  {

    if(n%i == 0)

    {

      return false;   //若n不是素数,返回false

    }

  }

  return true;

}

  对于bool Prime(int)而言,时间复杂度为O(√n),由于偶数(>2)不可能是素数,

所以上述程序中只对奇数进行了素数的判断。

求小于等于n的所有素数的更多相关文章

  1. 【模板小程序】求小于等于N范围内的质数

    //筛法求N以内的素数(普通法+优化),N>=2 #include <iostream> #include <cmath> #include <vector> ...

  2. 模板小程序】求小于等于N范围内的质数

    xiaoxi666 联系邮箱: xiaoxi666swap@163.com 博客园 首页 新随笔 联系 订阅 管理 [模板小程序]求小于等于N范围内的质数   1 //筛法求N以内的素数(普通法+优化 ...

  3. python3 filter用法(举例求0~n之间的素数)

    在用python3求0~n之间的素数时,关于filter用法的有点模糊,于是上网查了一下filter用法. 求0~n之间素数的脚本prime.py: def f(x): plist = [0,0] + ...

  4. COJ 3018 求1~n之间的素数

    求1~n之间的素数 难度级别:A: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述  素数是大于1,且除1和本身以外不能被其他整数所整除的数. ...

  5. 求出100以内的素数(java实现)

    j package test1; //2018/11/30 //求100以内的所有素数 public class Main10 { public static void main(String[] a ...

  6. 求n到m之间素数的个数

    Description 求n到m之间素数的个数 Input 多组测试数据,每组先输入一个整数t,表示组数,然后每组输入2个正整数n和m,(1 <= n <= m <= 10000) ...

  7. 关于素数:求不超过n的素数,素数的判定(Miller Rabin 测试)

    关于素数的基本介绍请参考百度百科here和维基百科here的介绍 首先介绍几条关于素数的基本定理: 定理1:如果n不是素数,则n至少有一个( 1, sqrt(n) ]范围内的的因子 定理2:如果n不是 ...

  8. 筛选法求n以内所有的素数

    求n以内所有的素数? 筛选法:将2到n中所有的数都列出来,然后从2开始,先化掉所有2的倍数,然后每次从下一个剩下的数(必然是素数)开始,划掉其内所有的倍数,最后剩下来的数就都是素数 例:13  红色为 ...

  9. Zoj 3529 A Game Between Alice and Bob 数论+博弈Nim 快速求数中有多少个素数因子

    本题涉及博弈论中的Nim游戏博弈. Nim游戏博弈详解链接: http://www.cnblogs.com/exponent/articles/2141477.html 本题解题报告详解链接: htt ...

随机推荐

  1. Last non-zero Digit in N!

    Problem Description The expression N!, read as "N factorial," denotes the product of the f ...

  2. Spring与Struts整合

    Spring框架是一个非常优秀的轻量级Java EE容器,Spring框架是整个轻量级Java EE框架的核心.大部分的Java EE应用,都会考虑使用Spring容器管理应用中的组件,从而保证各组件 ...

  3. ASP.NET弹出模态对话框【转】

    主页面 PageBase.aspx.cs 中的代码 protected void Page_Load(object sender, EventArgs e) {    if (!this.IsPost ...

  4. Python 2.x and 3.x String VS Bytes

    In Python 3 unicode strings are the 'regular strings' (str) and byte strings are separate objects. L ...

  5. ibatis中isEquals、isNotEmpty的用法

    一:isEquals用于动态拼接sql 如下实例: 如果status的状态为0,则更新attribute1;状态为1,则更新attribute2; 状态为2,则更新attribute3. <up ...

  6. (转载)Java NIO:NIO概述(一)

    Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题.本文下面分别从Java ...

  7. 在Visual Studio 的 “一般处理程序 ” .ashx 文件中如何创建Session 对象

    只需要继承这个接口即可实现创建Session对象.  IHttpHandler,System.Web.SessionState.IHttpSessionState 代码示例: public class ...

  8. Commons CLI - Option Properties

    Option Properties The following are the properties that each Option has. All of these can be set usi ...

  9. Git CMD - add: Add file contents to the index

    命令格式 git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [--patch | -p] [- ...

  10. HDOJ2004成绩转换

    成绩转换 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...