本文共 1491 字,大约阅读时间需要 4 分钟。
python版本
#求200到300的质数#如果一个数字n不是质数,它可以被分解为两个因数。a和b; n=a*b, 这两个因数,要么相等,要么一个大于平方根一个小于平方根,# 如果我们找不到任何小于或等于平方根的因数,n一定是一个质数import timedef test(): res=[] for i in range(200,301): if countPrimes(i): res.append(i) return resdef countPrimes(n): if n<0 or n==0 or n==1: return False m= int(n ** 0.5) for i in range(2,m): if n%i==0: return False return Trueif __name__ == '__main__': print(test())
java版本
import java.util.ArrayList;public class countprimes { public String test() { ArrayListres = new ArrayList<>(); for (int i = 200; i <= 300; i++) { if (count_primes(i)) { res.add(i); } } return res.toString(); } public Boolean count_primes(int num) { if (num < 0 || num == 0 || num == 1) { return false; } int chushu = (int) Math.sqrt(num); for (int i = 2; i <= chushu; i++) { if (num % i == 0) { return false; } } return true; }}
java版本
public static int countPrimes(int n){ int count=0; for (int i = 2; i < n; i++) { boolean flag=true; for (int j = 2; j <= Math.sqrt(i); j++) { if (i%j==0){ flag=false; break; } } if (flag) count++; } return count;}
参考链接:
https://blog.csdn.net/qq_40181007/article/details/86289833