Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

PNUMBER - Tìm số nguyên tố

Hiện tại, bài tập này đã có trên online judge chính thức của VNOI, bạn có thể truy cập ở đây: https://oj.vnoi.info/problem/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

Được gửi lên bởi:Nguyen Minh Hieu
Ngày:2007-09-17
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:Dân gian

hide comments
2017-10-29 17:47:13
code thế , sao vẫn lỗi nhỉ
#include <iostream>
using namespace std;
int a, b, i, j;

bool kt_nto(int x)
{
if (x < 2)
return false;
else
{
for (int i = 2; i < x; i++)
{
if (x % i == 0)
return false;
}
return true;
}
}

int main()
{
cin >> a >> b;
for (j = a; j <= b; j++)
{
if (kt_nto(j) == true)
cout << j << endl;
}

return 0;
}
2017-09-19 15:55:59

void SanNguyenTo()
{
memset(MangSNT,0,sizeof(MangSNT));
MangSNT[0]=MangSNT[1]=1;
int x=1;
while(x<sqrt(200000))
{
if(MangSNT[++x]) continue;
for(int j = x*2;j<200000;j+=x) MangSNT[j]=1;
}
}
int main() {
// your code goes here
cin>>a>>b;
SanNguyenTo();
for(int i = a;i<=b ;i++)
if(MangSNT[i]==0) cout<<i<<'\n';
return 0;
}
cho mình hỏi sao code của mình lại wrong answer vậy ? Mình dùng pp sàn nguyên tố
2017-06-18 15:50:36
Tham khảo thuật toán và code tại: http://yeulaptrinh.pw/734/pnumber-spoj/

Last edit: 2017-06-20 03:26:21
2017-05-29 16:17:13
#include<iostream>
#include<stdio.h>
#include<math.h>
#include<algorithm>
//#include<conio.h>
#define forto(i,x,y) for(int i=(x),_b=(y);i<=_b;i++)
#define forco(i,x,y) for(int i=(x),_b=(y);i>=_b;i--)
using namespace std;
const int oo = 1e7 + 3;

int a, b;
int cnt = 0;
int prime[oo];

void thenes()
{
forto(i, 2, 10000)
{
if (!prime[i])
{
for (int j = i; j*i <= 200000; j++)
{
prime[i*j] = i;
}
}
}
return;
}

int main()
{
//Coding or to be coded
thenes();

cin >> a >> b;

//cout << "Primes " << a << " to " << b << ": ";
forto(i, a, b)
{
if (!prime[i] && i != 1)
{
/*++cnt;*/
cout << i << "\n";
}
}
/*cout << "\n";
cout <<"Answer: "<<cnt;
cout << cnt;*/

/*_getch();*/

return 0;
//When you want to give up, which cause make you start

//If you stop , you still go alone
}
2017-04-23 17:36:40
var a,b,i : integer;
function nguyento( n : integer) : boolean;
var j :integer;
begin
if n = 1 then exit(false);
if n = 2 then exit(true);
for j := 2 to trunc(sqrt(n)) do if n mod j = 0 then exit(false);
exit(true);
end;
begin
readln(a,b);
for i := a to b do
begin
if nguyento(i) then writeln(i);
end;
end.
=> Ai check dùm với, không biết sai ở đâu
2017-04-19 05:22:51
mình chạy trên máy thì đúng hết mà sao nộp bài lại sai nhỉ???
2017-04-16 12:13:14
mọi người cho mình hỏi sao thế này vẫn chưa đc nhỉ ?
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
int a, b, i, j, flag;
cin >> a >> b; // nhap a va b.
for(i=a; i<=b; ++i)
{
flag=1;
for(j=2; j<=sqrt(i); ++j)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag==1)
cout << i << endl;
}

return 0;
}
=> Bài này của c chưa xét trường hợp a=2 hả ?
2017-03-08 17:54:07
mọi người cho mình hỏi sao thế này vẫn chưa đc nhỉ ?
#include <iostream>
#include<math.h>
using namespace std;
int main()
{
int a, b, i, j, flag;
cin >> a >> b; // nhap a va b.
for(i=a; i<=b; ++i)
{
flag=1;
for(j=2; j<=sqrt(i); ++j)
{
if(i%j==0)
{
flag=0;
break;
}
}
if(flag==1)
cout << i << endl;
}

return 0;
}

Last edit: 2017-03-08 18:18:12
2017-02-20 15:08:27
không hiểu sao mình chạy code trên máy đúng mà trên này lại sai nhỉ
2016-11-30 16:37:47
Ủa, sao mình duyệt trâu mà nó báo chạy quá thời gian à?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.