zoukankan      html  css  js  c++  java
  • PAT B1013 数素数

    输入样例:

    5 27
    
     

    输出样例:

    11 13 17 19 23 29 31 37 41 43
    47 53 59 61 67 71 73 79 83 89
    97 101 103

    解题思路:

    从2开始查找,如果查找的数的个数在n到m之间就输出,并且需要一个计数器来计算输出数的个数,如果个数是10的整数倍,就输出换行。

    #include<iostream>
    #include<cmath>
    
    using namespace std;
    
    bool IsPrime(int n) {
        if (n <= 3) {
            return n > 1;
        }
        // 求平方根,注意sqrt()的参数为 double 类型,这里要强制转换m的类型 
        int k = (int)sqrt((double)n);
        int i;
        for (i = 2; i <= k; i++) {
            if (n % i == 0) {
                return false;
            }
        }
        // 如果完成所有循环,那么m为素数
        return true;
    }
    
    int main() {
    
        int n, m;//开始数和结束的数
        cin >> n >> m;
    int count = 0;//用于计算素数的个数 int flag = 0;//计数器,用于判断输出数的个数 for (int i = 2;;i++) { if (IsPrime(i)) { //如果当前数是质数 count++;
    if (count >= n&&count <= m) { //如果质数的个数在范围内就输出 flag++; if (count == m) { //最后一个数据,不输出空格 printf("%d", i); break; } if (flag % 10 == 0) { //10个数字为一行 printf("%d ", i); } else { printf("%d ", i); } } else if (count > m) { break; } } } system("pause"); return 0; }
  • 相关阅读:
    代码
    (转载)计算机的二进制起源
    表的新建
    SQL约束
    包装类
    GUID(转载)
    Android九宫格解锁自定义控件(附源码)
    Android滑动页面返回(自定义控件)
    Android高仿QQ消息滑动删除(附源码)
    Android跟踪球-手势移动图片-自定义控件(附源码)
  • 原文地址:https://www.cnblogs.com/syq816/p/12584819.html
Copyright © 2011-2022 走看看