c语言中判断一个数是否为素数。

        素数是指在大于1的自然数中,除了1和它本身之外没有其他因数的自然数。

1.先定义一个数num。

int num;

2.输入一个数。

scanf("%d",&num);

3.写出一个isprime函数来判断输入的数字是否为素数。

int isprime(int num)
{
	if (num <= 1)
		return 0;
	if (num == 2)
		return 1;
	for (int i = 2; i < sqrt(num); i++)
	{
		if (num % i == 0)
			return 0;
	}
	return 1;
}

       其中1和2是特殊值,提前判断好。其他数值通过for循环用num余小于num平方根的所有数来判断只要有num%2==0就可以判断该数不为素数,返回0。是素数返回1.再通过主函数里面的if语句来识别返回值,返回1为素数,返回0不是素数通过printf打印。

#include <stdio.h>
#include <math.h>
int isprime(int num)
{
	if (num <= 1)
		return 0;
	if (num == 2)
		return 1;
	for (int i = 2; i < sqrt(num); i++)
	{
		if (num % i == 0)
			return 0;
	}
	return 1;
}
int main()
{
	int num;
	printf("请输入一个整数:");
	scanf("%d",&num);
	if (isprime(num))
		printf("%d是一个素数。\n", num);
	else
		printf("%d是不一个素数。\n", num);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值