【01】判断素数/质数(C语言)

目录

(1)素数特点:只能被1和本身整除

(2)代码如下:

(3)运行结果如下

​编辑

(4)函数引申


(1)素数特点:只能被1和本身整除

也就是可以通过for循环并使用if语句来判断是否有除了1和它本身的数整数,如果有则不是素数。

(2)代码如下:

复制代码
void is_prime()
{
	int i = 0;
	int j = 0;
	int flag = 0;
    printf("请输入要判断的数:");
    scanf("%d",&i);

		for (j = 2; j < i; j++)
		{
			if (i % j == 0)
			{
				flag++;
			}
		}
		if (flag == 0)
		{
			printf("%d是素数\n", i);
		}

}
int main()
{
	is_prime();
	return 0;
}

(3)运行结果如下

(4)函数引申

利用上面实现的is_prime函数,打印100到200之间的素数。

通过嵌套for循环改变i的值来逐一判断

改造后的函数如下

复制代码
void is_prime()
{
	int i = 0;
	int j = 0;
	int flag = 0;
	for (i = 100; i < 201; i++)
	{
		flag = 0;
		for (j = 2; j < i; j++)
		{
			if (i % j == 0)
			{
				flag++;
			}
		}
		if (flag == 0)
		{
			printf("%d\n", i);
		}
	}
}
int main()
{
	is_prime();
	return 0;
}

运行结果如下:

所以100~200之间的素数有101、103、107、109、113、127、131、137、139、149、151、157、163、167、173、179、181、191、193、197、199这21个。

相关推荐
ALex_zry14 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
Zw-awa15 小时前
01-写了include之后到底发生了什么
c语言
CodeStats18 小时前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
文祐19 小时前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
gugucoding21 小时前
28. 【C语言】通用数据操作:`void *` 与类型无关编程
c语言·开发语言
凉、介21 小时前
ARMv8 架构下的刷 Cache 操作
c语言·笔记·学习·架构·嵌入式·arm
灯厂码农2 天前
C语言动态内存分配完全指南(malloc、calloc、realloc、free)
java·c语言·算法
wuyk5552 天前
24. C 语言模块化:不是拆几个.c 文件那么简单
c语言·开发语言·stm32·单片机
qq_241585612 天前
可用在中断中浮点数打印类似printf
c语言
C语言小火车2 天前
C++ 快速排序(Quick Sort)深度精讲:分治思想、Lomuto 分区法及三数取中优化,面试手撕必会
c语言·开发语言·c++·面试·排序算法·快速排序