1883 让程序飞


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

本问题要判断整数是否为素数。

程序是处理数据的,为了要让运行速度快,就要算法好。而一个好的算法就是要在单位时间里处理数据的量尽可能大。试比较下列两个程序。

//=====================================

// 判断素数1

//=====================================

include

using namespace std;

//-------------------------------------

bool isPrime(int n){ // n为素数,返回1; 否则返回0

for(int i=2; i>n; )

cout

using namespace std;

//-------------------------------------

// 数组stat为素数状态表(2^16=65536)

// 元素值为0表示其下标为素数,否则为非素数

// 例如: stat[7]为0,则7为素数

// stat[8]为1,则8不是素数

// 状态表初始化为全0(全为素数)

// 通过筛法,将非素数下标的元素值置为1

bool stat[65537] = {0};

//-------------------------------------

int main(){

for(int i=2; i>n; )

cout<<(stat[n]?"Yes\n":"No\n");   // 只需访问stat数组

}//=======================================

请你输入该程序,试运行之,提交之,高效完成素数判断工作。

Input

一些整数n(1≤n≤2^16)。

Output

对于每个整数,若为素数,输出Yes,否则输出No。

Sample

Input

121  3  9  7

Output

No
Yes
No
Yes

Comments

There are no comments at the moment.