判断素数(C语言)

从键盘输入一个数据,判断是否为素数 

#if(0)
//*************判断输入的一个数是否为素数******************
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int i;
	int n;
	int flag = 1;
	printf("请输入一个整数:\n");
	scanf_s("%d", &n);
	for (i = 2; i < n; i++)
	{
		if (n % i == 0)
		{
			flag = 0;
			break;//一旦发现该数可以与其他数进行整除,则跳出循环,直接进入下面的if语句
		}
	}
	//判断素数:
	if (flag == 0)
	{
		printf("该数不是素数");
	}
	else if(flag==1)
	{
		printf("该数是素数\n");
	}
}
#endif

 从键盘输入一个大于6的偶数,该数一定是由任何两个奇素数相加求得

(奇素数:不等于2的所有素数)

//*************从键盘输入一个大于6的偶数,该数则一定可以由两个奇素数相加求得;
//奇素数:不等于2的所有的素数
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int main()
{
	int a, b, c, d;
	int flag = 0;
	printf("请输入一个大于6的整数:\n");
	scanf_s("%d", &a);
	for (b = 3; b <= a / 2; b+=2)
	{
		for (c = 2; c <= sqrt(b); c++)//判断b是否为素数
		{
			if (b % c == 0)
			{
				break;
			}
		}
		if (c > sqrt(b))
		{
			d = a - b;
		}
		else
		{
			continue;
		}
			//判断d是否为素数
		for (c = 2; c <= sqrt(d); c++)
		{
			if (d % c == 0)
			{
				break;
			}
		}
		if (c > sqrt(d))
			{
					//输出结果
				printf("结果为:%d+%d=%d\n", b, d, a);
				flag = 1;
			}
			
		
	}
	if (flag == 0)
	{
		printf("该数无素数和");
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值