C 语言实例 – 判断素数
C 语言实例 - 判断素数
质数(prime number)又称素数,有无限个。质数定义为在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数,这样的数称为质数。
实例
#include <stdio.h>
int main()
{
int n, i, flag = 0;
printf("输入一个正整数: ");
scanf("%d",&n);
for(i=2; i<=n/2; ++i) {
// 符合该条件不是素数
if(n%i==0) {
flag=1;
break;
}
}
if(n <=1 ) {
flag=1; // 1 和 0 不是素数
}
if (flag==0)
printf("%d 是素数",n);
else
printf("%d 不是素数",n);
return 0;
}
运行结果:
输入一个正整数: 29 29 是素数
实例 - 判断两个数之间的素数
#include <stdio.h>
int main()
{
int low, high, i, flag;
printf("输入两个整数: ");
scanf("%d %d", &low, &high);
printf("%d 与 %d 之间的素数为: ", low, high);
while (low < high)
{
flag = 0;
for(i = 2; i <= low/2; ++i)
{
if(low % i == 0)
{
flag = 1;
break;
}
}
if (flag == 0)
printf("%d ", low);
++low;
}
return 0;
}
运行结果:
输入两个整数: 100 200 100 与 200 之间的素数为: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
实例 - 使用函数判断两数间的素数
#include <stdio.h>
int checkPrimeNumber(int n);
int main()
{
int n1, n2, i, flag;
printf("输入两个正整数: ");
scanf("%d %d", &n1, &n2);
printf("%d 和 %d 间的素数为: ", n1, n2);
for(i=n1+1; i<n2; ++i)
{
// 判断是否为素数
flag = checkPrimeNumber(i);
if(flag == 1)
printf("%d ",i);
}
return 0;
}
// 函数定义
int checkPrimeNumber(int n)
{
int j, flag = 1;
for(j=2; j <= n/2; ++j)
{
if (n%j == 0)
{
flag =0;
break;
}
}
return flag;
}
输出结果为:
输入两个正整数: 10 30 10 和 30 间的素数为: 11 13 17 19 23 29
相关文章
- C++中的字符串编码怎么处理
- 浅析c++函数参数和返回值
- C++学习之如何进行内存资源管理
- C++手撸智能指针的教程分享
- C++编译器和链接器工作原理及使用方法完全指南
- 一文详解C++模板和泛型编程
- Linux/C++多线程实例学习十字路口车辆调度
- C++中的字符串编码处理方法
- C语言中pthread_exit()函数实现终止线程
- C语言全局变量和局部变量的示例代码
- .Net程序内存异常的原因及解决
- ASP.NET Core快速入门之环境篇
- ASP.NET Core 集成 React SPA应用的步骤
- .NET 开源配置组件 AgileConfig的使用简介
- .NET之生成数据库全流程实现
- IIS部署ASP.NET5的实现步骤
- ASP.NET Core 文件响应压缩的常见使用误区
- .net core 使用阿里云分布式日志的配置方法
- .NET Core结合Nacos实现配置加解密的方法
- asp.net core为IHttpClientFactory添加动态命名配置