求100之内的素数

简介: 求100之内的素数

C语言实现


在C语言中,我们可以使用一种简单的方法,即遍历每个数并检查它是否能被小于它的任何数整除。如果都不能,则它是素数。下面是一个简单的C语言实现:


c复制代码
 #include <stdio.h>  
 
 #include <stdbool.h>  
 
   
 
 bool isPrime(int n) {  
 
     if (n <= 1) return false;  
 
     for (int i = 2; i * i <= n; i++) {  
 
         if (n % i == 0) return false;  
 
     }  
 
     return true;  
 
 }  
 
   
 
 int main() {  
 
     printf("100以内的素数有:\n");  
 
     for (int i = 2; i <= 100; i++) {  
 
         if (isPrime(i)) {  
 
             printf("%d ", i);  
 
         }  
 
     }  
 
     return 0;  
 
 }



Python实现

在Python中,我们可以使用类似的逻辑,但是Python的语法更简洁,并且Python内置了丰富的库,但在这里我们将使用基本的循环和条件判断。


方法1:基本循环和条件判断


python复制代码
 def is_prime(n):  
 
     if n <= 1:  
 
         return False  
 
     for i in range(2, int(n**0.5) + 1):  
 
         if n % i == 0:  
 
             return False  
 
     return True  
 
   
 
 print("100以内的素数有:")  
 
 for i in range(2, 101):  
 
     if is_prime(i):  
 
         print(i, end=' ')


方法2:使用列表推导式(更简洁)


虽然列表推导式本身不直接减少计算量,但它可以使代码更简洁和Pythonic。


python复制代码
 def is_prime(n):  
 
     if n <= 1:  
 
         return False  
 
     for i in range(2, int(n**0.5) + 1):  
 
         if n % i == 0:  
 
             return False  
 
     return True  
 
   
 
 print("100以内的素数有:", [i for i in range(2, 101) if is_prime(i)])



注意:在Python和C语言的实现中,我们都使用了优化,即只检查到sqrt(n)。这是因为如果n有一个因子大于它的平方根,那么它必定有一个小于或等于它的平方根的因子。这样可以显著减少不必要的检查,提高算法的效率。


image.png

相关文章
|
存储 区块链 CDN
推荐几个免费好用的图床
图床一直以来都是很多人的刚性需求,无论是站长,还是平时逛论坛、写博客的用户,再或者是做外贸生意都可能需要用到图床。好用的图床提供了长期稳定存储且高访问能力的图片托管能力,这也是大家选择图床的核心因素。所以在这里我推荐几款免费且超好用的图床。
1114 0
|
12月前
|
算法 JavaScript Java
AES和RSA
AES和RSA
134 0
超漂亮二次元导航HTML源码
超漂亮网站导航HTML源码,页面中调用了很多外站链接需自行更换 修改方法:使用记事本右键打开修改即可~
344 0
超漂亮二次元导航HTML源码
|
12月前
|
缓存
webpack 打包多页面应用
webpack 打包多页面应用
123 1
|
12月前
|
Python
pandas包的安装和Could not find a version that satisfies|9
pandas包的安装和Could not find a version that satisfies|9
338 8
|
12月前
|
存储 C语言 Python
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
866 4
|
12月前
|
存储 C语言
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
375 4
|
12月前
|
C语言 索引 Python
利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
248 4
|
12月前
|
SQL 关系型数据库 数据库
pgAdmin4如何查看当前的scheme默认是哪个
pgAdmin4如何查看当前的scheme默认是哪个
233 4
|
12月前
|
C语言 Python
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
500 4