2849 素数判定 3

2849 素数判定 3

 时间限制: 1 s
 空间限制: 32000 KB
 题目等级 : 青铜 Bronze
 
题目描述 Description

输入一个正整数x(3<=x<=100000),判断x是否是质数,如果是质数则输出信息“prime”,否则输出“composite”。

输入描述 Input Description

一行一个正整数

输出描述 Output Description

输出prime或者composite

样例输入 Sample Input

13

样例输出 Sample Output

prime

数据范围及提示 Data Size & Hint

大于2并且小于100000

 1 #include<iostream>
 2 using namespace std;
 3 #include<cmath>
 4 bool sushu[1000010];
 5 int n;
 6 int main()
 7 {
 8     sushu[1]=sushu[0]=1;
 9     cin>>n;
10     for(int i=2;i<=sqrt(n);++i)
11     {
12         if(sushu[i]==0)for(int j=i*i;j<=(n);j+=i)
13         {
14             sushu[j]=1;
15         }
16     }
17 
18     if(!sushu[n])cout<<"prime";
19     else cout<<"composite";
20     return 0;
21  }
原文地址:https://www.cnblogs.com/mjtcn/p/6745187.html