游客 Signup | Login
中文 | En

2801 - ab区间所有素数

质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。

    小智想找出a和b之间的所有素数,想把这些素数都列出来,如果不存在,则用“No“表示。你能编程解决吗?

Input

一行:a和b,(0<=a<b<=1000000)

Output

一行:所有素数,每个素数后面有一个空格

Examples

Input

1 10

Output

2 3 5 7 

Solution C++

#include<iostream>
#include<cmath> 
using namespace std;
bool ss(int );
int main()
{
	int n,m,k=0,j=0,l=0;
	cin>>n>>m;
	for(int i=n;i<=m;++i)
	{
		if(ss(i)==0)
		++j;
	}
	for(int i=n;i<=m;++i)
	{
		if(ss(i)==0)
		{
			cout<<i<<" ";
			++l;
	    }
	}
	if(l==0)cout<<"No";
	return 0;
	
}
bool ss(int a)
{
	if(a==1||a==0)return 1;
	else
	{
		int x=2;
	int b=floor(sqrt(a));
	while(x<=b&&(a%x!=0))
	++x;
	if(x>b)return 0;
	else return 1;
	}
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题