[Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想让我用点新技能.比如 map() 之类的?可是我想了半天还是没想出来啊!只好还是用土办法.代码如下: p = [i for i in range(2,100)] #建立2-99的列表 for i in range(3,100): #1和2都不用判断,从3开始 for j in range(2, i)
不管是while循环还是for循环,原理都是取根号,循环到取根号后的数,至于为什么需要循环到开根后的数,我想主要是因为一个数的分解因子在开根号后的数向上取整以下吧. 话不多说,上代码: while循环: while循环原理如下: i = 2 while i <= 100: # 内层循环 j 从2循环到根号 i j = 2 while j <= (i / j): # j <= (i/j) 等效于 j*j <= i 也就等于 j <= 根号 i if i % j == 0: br
def prime(num): for i in range(2, num): if num % i == 0: # 能被1之外的任意个数整除的即为非素数,返回False,将被filter函数过滤掉 return False return True print'prime: ', filter(prime, range(2, 101)) # filter(func,seq)返回seq作用于func之后为True的数
#import <Foundation/Foundation.h> int main () { /* local variable definition */ int i, j; ; i<; i++) { ; j <= (i/j); j++) if(!(i%j)) break; // if factor found, not prime if(j > (i/j)) NSLog(@"%d is prime\n", i); } ; }