当前位置:网站首页>Three ways to find prime numbers
Three ways to find prime numbers
2022-08-09 17:48:00 【I'm free*】
目录
素数
定义:在正整数范围内,大于1Flat and can only be1和自身整除的数.
1.方法一
Use simplistic methods

我也不多说废话,一切尽在代码中.
求100-200之间的素数
素数:只能被1和自身整除
//求素数
#include <stdio.h>
int main()
{
int i = 0, j = 0, t = 0;
int count = 0; //计数
for (i = 100; i <= 200; i++)
{
//j的取值范围2-(i-1)
//Mark prime numbers
t = 0;
for (j = 2; j <= i; j++)
{
if (i % j == 0)
{
t++; //素数:只能被1和自身整除
}
}
if (t == 1) //素数:只能被1和自身整除,所以t=1is a prime number
{
printf("%d ", i);
count++; //计数
}
}
printf("\ncount=%d\n", count);
return 0;
}
2.方法二
进一步优化

#include <stdio.h>
//Prime code optimization
//求100-200之间的素数
//素数:只能被1和自身整除
int main()
{
int count = 0; //计数
int i = 0;
for (i = 100;i <= 200;i++)
{
//判断是否是素数
int flag = 1; //利用flag标记素数
int j = 2;
//j的取值范围2-(i-1)
for (j = 2;j < i;j++)
{ //拿j试除i
if (i % j == 0)
{
flag = 0; //flag为0is a non-prime number
break; //如果在2-(i-1)Meet a capable general within the rangei整除的数字,跳出for (j = 2;j < i;j++){...}循环
}
}
if (1 == flag)//这样可读性更高
{
count++;
printf("%d ", i);
}
}
printf("\ncount=%d\n", count);
return 0;
}3.方法三
最优方案

//最后的优化
//因为i=m*n;
// 16=2*8; 16=4*4;
//如果i能被2-(i的开平方)Divisible by a number in between,则i不是素数
//例如16,能被2-4(16的开平方)的2或者4整除,所以16不是素数
#include <stdio.h>
#include <math.h>
int main()
{
int count = 0; //计数
int i = 0;
for (i = 100;i <= 200;i++)
{
//判断是否是素数
int flag = 1; //利用flag标记素数
int j = 2;
//j的取值为2-sqrt(i)
for (j = 2;j <= sqrt(i);j++)
{ //拿j试除i
if (i % j == 0)
{
flag = 0; //flag为0is a non-prime number
break; //如果在2-sqrt(i)Meet a capable general within the rangei整除的数字,
//跳出for (i = 100;i <= 200;i++){...}循环
}
}
if (1 == flag) //这样可读性更高
{
count++;
printf("%d ", i);
}
}
printf("\ncount=%d\n", count);//计数
return 0;
}
总结
It can be seen from method one to method three,The number of executions of the program is gradually decreasing,Efficiency is constantly improving,Hope these methods inspire you.

边栏推荐
猜你喜欢
随机推荐
标准IO及其各函数用法
MySQL必知必会(二)
QT程序设计多人聊天室(基于QT、sqlite3、TCP/IP)
C语言分支语句if,switch语句详细讲解
第四章:使用本地地理空间数据(4.6-4.14)
第三章:GEE数据的使用(3.4-3.11)
Win10 安装系统跳过创建用户,直接启用 administrator
超级火的夏日小空调
2022华数杯建模A题思路解析
继承和选择器的权重
js实现滑动条验证
Go语言基础(十四):单元测试
用指针和malloc定义一个数组
C语言的常量和操作符
投入C语言
二维数组的探究
选择器的使用
Ntdsutil 清除无效的辅域控制器DC
ping www.baidu.com虚拟机中ping百度
Heap series _0x04: Internal structure of heap (_HEAP=_HEAP_SEGMENT+_HEAP_ENTRY)









