Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
12/12/2013 23:12 # 1
vnttqb
Cấp độ: 13 - Kỹ năng: 8

Kinh nghiệm: 5/130 (4%)
Kĩ năng: 39/80 (49%)
Ngày gia nhập: 21/03/2011
Bài gởi: 785
Được cảm ơn: 319
1783. Tìm số nguyên tố


1783. Tìm số nguyên tố

Mã bài: PNUMBER

 

Hãy tìm tất cả các số nguyên tố trong đoạn [A,B] .

Input

Gồm 2 số nguyên A và B cách nhau bởi 1 dấu cách ( 1 ≤ A ≤ B ≤ 200000 ) .

Output

Ghi ra tất cả các số nguyên tố trong khoảng [A,B]. Mỗi số trên 1 dòng .

Ví dụ

Input:
1 10

Output:
2
3
5
7


======================================================================================================

Cuộc đời là một dòng sông. Ai không bơi thì chết. 
 

Name: Tien (Tory) TRAN
Email: TranTien29@gmail.com


 
12/12/2013 23:12 # 2
BabyCoder
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 4/10 (40%)
Kĩ năng: 1/10 (10%)
Ngày gia nhập: 12/12/2013
Bài gởi: 4
Được cảm ơn: 1
Phản hồi: 1783. Tìm số nguyên tố


Bài này mình sinh ra một mảng nguyên tố rồi từ đó mà đọc Input rồi ghi kết quả :D
#include<algorithm>
#include<cstdio>
using namespace std;
const int MAXN = 510;
const int INF = 1000000001;
int a, b, np;
int p[MAnN];
bool isPrime(int n){
   if(n<=1) return false;
   int i = 2;
   while(i*i <= n){
      if(n%i==0) return false;
      i++;
   }
   return true;
}
void init(){
    np = 0;
    for (int i=2;i<MAXN;i++)
        if(isPrime(i)) p[np++]=i;
}
bool gPrime(int n){
   int i = 0;
   if(n <= 1) return false;
   while(p[i]*p[i] <= n){
      if(n%p[i] == 0) return false;
      i++;
   }
   return true;
}
int main(){
   init();
   scanf("%d %d", &a, &b);
   for (int i=a;i<b+1;i++) if(gPrime(i)) printf("%d\n", i);
   return 0;
}
 



 
Copyright© Đại học Duy Tân 2010 - 2019