PAT-B 1013 數素數 【素數】
PAT-B 1013 數素數
https://pintia.cn/problem-sets/994805260223102976/problems/994805309963354112
題目
令 Pi 表示第 i 個素數。現任給兩個正整數 M≤N≤104,請輸出 PM 到 PN 的所有素數。
輸入
輸入在一行中給出 M 和 N,其間以空格分隔。
輸出
輸出從 PM 到 PN 的所有素數,每 10 個數字佔 1 行,其間以空格分隔,但行末不得有多餘空格。
樣例輸入
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
分析
素數篩選,具體看程式。
C++程式
#include<iostream>
using namespace std;
const int N=200000;
int prime[N+1];
//素數篩選
void solve(int n)
{
prime[0]=prime[1]=1;
for(int i=2;i<=n;i++)
if(!prime[i])
{
for(int j=i+i;j<=n;j+=i)
prime[j]=1;
}
int i=1,j=2;
while(j<=n)
{
while(j<=n&&prime[j]) j++;//找到下一個素數
if(j>n) break;
prime[i++]=j++;//第i個素數為j
}
}
int main()
{
int n,m;
solve(N);
scanf("%d%d",&n,&m);
bool flag=false;
for(int i=n,cnt=1;i<=m;i++,cnt++)
{
if(flag) printf(" ");
printf("%d",prime[i]);
flag=true;
if(cnt%10==0)
{
flag=false;
printf("\n");
}
}
return 0;
}
相關文章
- PAT1013數素數C++C++
- PAT-B 1007 素數對猜想【素數】
- [PAT B] 1013 數素數 -未完成
- 1013 數素數 (20分)/c++實現C++
- 素數
- 數論(1):素數
- 素數篩
- 【數論】素數篩法
- 素數判斷
- 素數 UVA 406
- 最強素數
- 判斷素數
- 美素數 hd 4548
- 素數判定 hd 2012
- 計算素數【Java】Java
- 初等數論——素數,逆元,EXGCD有關GC
- 第六章 數學問題 ----------6.13 素數的篩法(第十萬零二個素數)
- 如何高效尋找素數
- 密碼工程-大素數密碼
- 素數個數 <埃式篩 && 尤拉篩>
- 【數學問題】判斷一個數是否是素數
- 分拆素數和 hd 2098
- [PAT B] 1007 素數對猜想
- 素數判定(int sushu(int n))
- [演算法]: 素數篩法演算法
- 1354: 素數判定(C語言)C語言
- 求十個連續最小自然數,非素數。
- L1-028 判斷素數 分數 10
- 兩位數學家發現素數計數新方法,原來「p²+nq²」形式的素數真有無限多個
- C語言判斷素數,判斷質素演算法C語言演算法
- 輸出一個區間內的質數(素數)
- 6-2 計算素數和
- 關於素數定理的證明
- c語言 構造素數表C語言
- 素數判定演算法 初級演算法
- 計算 1-100 的素數
- 【演算法】數學之旅,根據素數特徵尋找底數演算法特徵
- 面試官本拿求素數搞我,但被我優雅的“回擊“了(素數篩)面試