首页 > 其他分享 >PAT Basic 1013. 数素数

PAT Basic 1013. 数素数

时间:2023-03-07 22:12:19浏览次数:48  
标签:10 PAT int 素数 numNow flag Basic isPrime 1013

PAT Basic 1013. 数素数

1. 题目描述:

令 \(P_i\) 表示第 \(i\) 个素数。现任给两个正整数 \(M≤N≤10^4\),请输出 \(P_M\) 到 \(P_N\) 的所有素数。

2. 输入格式:

输入在一行中给出 \(M\) 和 \(N\),其间以空格分隔。

3. 输出格式:

输出从 \(P_M\) 到 \(P_N\) 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。

4. 输入样例:

5 27

5. 输出样例:

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

6. 性能要求:

Code Size Limit
16 KB
Time Limit
200 ms
Memory Limit
64 MB

思路:

构造一个判断素数的子函数,然后从头依次遍历素数即可,思路比较直接,但确实能满足时间要求。。。

My Code:

#include <stdio.h>

int isPrime(int num);

int main(void)
{
    int tempM = 0, tempN = 0;
    int flag = 0, numNow = 2;
    
    scanf("%d%d", &tempM, &tempN); // to store M and N
    
    for(flag = 0; flag < tempM; numNow++)
    {
        if(isPrime(numNow)) flag++;
    }
    numNow--; // back to Mth prime number
    flag = 0;
    
    while(flag < tempN-tempM+1)
    {
        if(isPrime(numNow))
        {
            if(flag % 10 == 0)
                printf("%d", numNow);
            else if(flag % 10 == 9)
                printf(" %d\n", numNow);
            else
                printf(" %d", numNow);
            
            flag++;
        }
        
        numNow++;
    }
    
    return 0;
}

// judge Prime number function
// 1: isPrime | 0: notPrime
int isPrime(int num)
{
    for(int i = 2; i*i <= num; i++)
    {
        if(num % i == 0)
            return 0;
    }
    return 1;
}

标签:10,PAT,int,素数,numNow,flag,Basic,isPrime,1013
From: https://www.cnblogs.com/tacticKing/p/17189900.html

相关文章

  • 《设计模式之禅》Proxy_Pattern--代理模式
    代理模式这一章以潘金莲和王婆以及西门庆三人的故事作为程序的对象,下面就通过西门庆与潘金莲的故事来理解代理模式,途中车速过高,各位请系好安全带,发车喽!!!什么是代理模式呢?......
  • 《Spectral Partitioning Residual Network With Spatial Attention Mechanism for Hy
    论文作者:XiangrongZhang,ShouwangShang,XuTang,etal.论文发表年份:2021模型简称:SPRN发表期刊:IEEETransactionsonGeoscienceandRemoteSensing论文链接:Sci-Hub......
  • PAT 甲级 1011 World Cup Betting(20)
    Withthe2010FIFAWorldCuprunning,footballfanstheworldoverwerebecomingincreasinglyexcitedasthebestplayersfromthebestteamsdoingbattlesfor......
  • ExcelPatternTool: Excel表格-数据库互导工具
    ExcelPatternToolExcel表格-数据库互导工具介绍:指定Pattern文件-一个规则描述的json文档,基于此规则实现Excel表格与数据库之间的导入导出,校验等功能。特点:小巧,轻量......
  • PAT Basic 1012. 数字分类
    PATBasic1012.数字分类1.题目描述:给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:\(A1\)=能被5整除的数字中所有偶数的和;\(A2\)=将被5除后余......
  • 无线和射频集成电路CC2651R3SIPAT0MOUR/CC2652PSIPMOTR/CC2651P31T0RKPR TxRx + MCU 2
    一、CC2651R3SIPAT0MOUR介绍:CC2651R3SIPA器件是一款多协议2.4GHz无线微控制器(MCU),支持Zigbee®、Bluetooth®5.2LowEnergy、IEEE802.15.4g、TI15.4stack(2.4GHz)......
  • PAT 乙级 1014 题解 (Basic Level) Practice
    很简单的一道题,我的程序有点乱#include<stdio.h>#include<string.h>#include<ctype.h>intmain(){chars1[61];chars2[61];chars3[61];chars4[61];s......
  • 33. CF-Divisor Paths
    链接求从\(x\)到\(y\)的最短路径的数量。显然应该从\(x\)走到\(\gcd(x,y)\)再走到\(y\),容易证明这样走是最优的。那么现在只需要把两段的最短路径数量分别求出......
  • PAT Basic 1009. 说反话
    PATBasic1009.说反话1.题目描述:给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。2.输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的......
  • Linux操作命令(九)1.comm命令 2.diff命令 3.patch命令
    1、comm用于比较两个有序文件的不同,在使用comm指令之前应先把文件的内容进行排序(sort)显示结果包括3列:第1列为只在第一个文件中找到的行,第2列为只在第二个文件中找......