对我自己的题目U392899的题解
查看原帖
对我自己的题目U392899的题解
1213524
C_plus_plus_12345楼主2023/12/24 14:20

自编题目 U392899

题目要求是输入 nn ,输出 nn是不是质数。

要判断 nn 是不是质数,我们可以从 22 开始,到 i\sqrt{i} ,找 nn 的第一个约数,若找到了,则 nn 肯定是合数。

程序如下:

#include<bits/stdc++.h>
using namespace std;
int n;
int prime(int x);
int main()
{
	scanf("%d", &n);
	if (prime(n))
	{
		printf("%d是一个质数。", n);
	}
	else
	{
		printf("%d不是一个质数。", n);
	}
	return 0;
}
int prime(int x)
{
	int j;
	if (x == 2 || x == 3)
	{
		return 1;
	}
	j = 2;
	while (j <= sqrt(x) && x % j != 0)
	{
		if (x % j == 0)
		{
			return 0;
		}
		else
		{
			return 1;
		}
	}
}
2023/12/24 14:20
加载中...