erlang 求N以内的质数】的更多相关文章

素数,又称质数,在一个大于1的自然数中,除了1和此整数自身之外,不能被其他自然数整除的数. 比1大但不是素数的数称为合数. 1和0既不是素数,也不是合数. 算术基本定理证明每个大于1的正整数都可以写成素数的乘积,并且这种乘积的形式是唯一的. -module(get_prime). -compile(export_all). test_cost_time(N) -> % N为传入具体的数量,这里使用erlang自带的timer:tc测试所消耗时间 timer:tc(?MODULE,get_prim…
之前在做求1000以内的质数的时候,我们一般能想到的就是从3~(根号)no,逐一和no除,如果存在某个i使得  i|no成立的话,说明no不是质数(“i|no”是i整除除no的意思): 在<明解c语言>上看到了一种与相似,但运算次数比其还少的. #include <stdio.h> int main(void) { int i,no; ]; ; unsigned ; prime[ptr++]=; //这里是prime[0]=2,然后ptr再加加 prime[ptr++]=; ;no…
思路: 1.(质数筛选定理)n不能够被不大于根号n的任何质数整除,则n是一个质数2.除了2的偶数都不是质数代码如下: /** * 求n内的质数 * @param int $n * @return array */ function get_prime($n) { $prime = array(2);//2为质数 for ($i = 3; $i <= $n; $i += 2) {//偶数不是质数,步长可以加大 $sqrt = intval(sqrt($i));//求根号n for ($j = 3;…
using System;namespace Loops{ class Program { static void Main(string[] args) { /*局部变量定义*/ int i, j; for (i = 2; i < 100; i++) { for (j = 2; j <= i / j; j++) if ((i % j) == 0) break;//如果找到,则不是质数 if (j > (i / j)) Console.WriteLine("{0} 是质数 /n…
public class 求质数 { public static void main(String[] args) { for (int i = 2; i < 100; i++) { int temp = 0; for (int j = 2; j < i; j++) { if (i % j == 0) { temp = 1; } } if (temp != 1) { System.out.println(i); } } } }…
一.埃拉托斯特尼筛法 名字很高大上,然而并没有什么卵用…… 思路: 在把<=√n的质数所有的<=n的倍数剔除,剩下的就都是质数了,很容易理解…… 复杂度O(nloglogn) #include<cmath> const int MAXN=; ],top; bool a[MAXN]; void cal_prime_num(int n) { k=sqrt(n); ;i<k;i++) { if(!a[i]) { ; b[++top]=i; while(i*j<n) { a[i…
质数:就是只能被1和本身整除的数,1除外,如2,3,5,7,11,13等等 ##求一百以内的质数(1和本身除尽的数)if __name__ == '__main__': list=[] flag=False for i in range(2,101): for item in range(2,i): if i%item==0: flag=True if not flag: #将找到的质数添加到列表里 list.append(i) flag=False #打印输出 numbers=','.join…
1.兔子生兔子 2.求100以内质数的和 3.150块钱花完问题…
1.兔子生兔子问题: 2.打印菱形 3.求100以内质数的和 4.洗发水15元一瓶,牙膏5元一支,香皂2元一块,150元刚好花完有多少种情况?…