2849 素数判定 3
题目描述
Description
输入一个正整数x(3<=x<=100000),判断x是否是质数,如果是质数则输出信息“prime”,否则输出“composite”。
数据范围及提示
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