1843 - 课后习题8.3

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。

题目输入

一个数

题目输出

如果是素数输出prime 如果不是输出not prime

输入/输出样例

输入格式

97

输出格式

prime

C语言解答

#include<stdio.h>
#include<math.h>
main()
{
	int prime(int x);
	int m;
	scanf("%d",&m);
	if(prime(m)!=0)
		printf("prime\n");
	else
		printf("not prime\n");
}
int prime(int x)
{
	int i;
	if(x==1)
		return 0;
	else
	{
		for(i=2;i<=sqrt(x);i++)
			if(x%i==0)
				break;
			if(i>sqrt(x))
				return 1;
			return 0;
	}
}

C++解答

#include<bits/stdc++.h>
using namespace std;
long long n,a[1000000];
int main()
{
	cin>>n;
	for(int i=2;i*i<=n;i++)
	{
		if(a[i]==0)
		{
			for(int j=i+i;j<=n;j+=i)
			    a[j]=1;
		}
	}
	if(a[n]==0)
	    cout<<"prime";
	else
	    cout<<"not prime";
		
    return 0;
}