筛法打印100以内的素数

package exp;

public class Main {

    public static void main(String[] args){

        int M = 100;

        boolean[] p = new boolean[M];
        p[0]=p[1]=false;

        for(int i=2; i<M; i++)
            p[i]=true;

        double n = Math.sqrt(M);

        for(int i=0; i<=n; i++)
            if(p[i])
                for(int j=2*i; j<M; j=j+i)
                    p[j]=false;

        for(int i=0;i<M;i++) {
            if(p[i]) {
                System.out.print(i);
                System.out.print(" ");
            }
        }
    }
}
时间: 2024-08-06 07:57:54

筛法打印100以内的素数的相关文章

打印100以内的素数,并求和

//打印100以内的素数,并求和 int sum = 0;//定义和的初始值为0 for (int i = 1; i <= 100; i++) { int count = 0;//定义一个数被整除的次数的初始值为0 for (int k = 1; k <= i; k++) { if (i % k == 0)//变量i被整除的时候 { count++; } } if(count==2)//只有被整除两次才是素数 { Console.Write(i+"\t"); sum +=

打印1-100以内的素数

Linux Bash/Shell: [[email protected] shell]# cat prime.sh  #!/bin/sh # Print prime from 1 to 100 for ((i=1;i<=100;i++)) do if [ $i -eq 1 ];then continue fi flag=0 for ((j=2;j<i;j++)) do a=$[$i % $j] if [ $a -eq 0 ];then flag=1 fi done if [ $flag -eq

实现100以内的素数输出(Python与C++对比)

今天从链接http://www.2cto.com/kf/201302/187699.html中看到了Python实现100以内的素数输出的算法,颇受感触.尤其是被其中的Python的列表生成器的使用方式帅到了! 看完Python的算法实现之后,先是回到老本行用C++实现了一遍,通过对比,你就可以发现Python真的是太简洁了!!! 1 /* 2 题目:100以内的素数输出算法验证 3 时间:2015年9月11日 4 作者:LeonWen 5 */ 6 7 #include "stdafx.h&q

判断素数和输出100以内的素数

判断素数 public class Au { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); int isprime = 1; for(int i=2; i<n; i++){ if(n%i == 0){ isprime = 0; break; } } if(isprime ==

C语言打印100以内的质数

C语言打印100以内的质数 #include <stdio.h> int main() { int number; int divisor; for( number = 3; number <= 100; number += 2 ) { for( divisor = 3; divisor <= number; divisor += 2 ) { if( number % divisor == 0 ) break; } if( divisor == number ) printf(&q

打印100以内的质数

#include<stdio.h> #include<stdlib.h> int is_zs(int a); int main(void) { int i; int count = 0; for(i = 1; i <= 100; i++) { if(is_zs(i)) { printf("%d\t", i); count++; if(count % 5 == 0) { printf("\n"); } } } return EXIT_SU

用筛选法求100以内的素数(数组)

用筛选法求100以内的素数,要求使用数组. #include "stdafx.h" #include<iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a[100],i,b[100],j,n=0;     //数组a[100]来放用于判断的数,数组b[100]来放素数 for(i=0;i<100;i++)       //注意这里i不能从1开始,因为数组a的首位是a[0]

素数打表——找出1~100以内的素数

素数筛选法: #include <iostream> using namespace std; //素数打表模板 bool is_prime[100]; int main() { for(int i = 2;i<100;i++) { is_prime[i] = 1; } for(int i=2;i*i<100;i++){ if(is_prime[i]){ for(int j=i*i;j<100;j+=i){ is_prime[j] = 0; } } } //枚举1~100以内

汇编语言-判断素数:找出前100以内的素数

1. 题目:找出前100以内素数. 2. 要求:将前100以内素数找出并显示值,要求每行显示5个素数. 先列出求100以内素数的C++代码 然后根据C++代码写汇编代码,相对来说比较容易. 1 //The program is to find the primes from 1 to 100 with C++ 2 //By Karllen 3 //time: 05/19/2014 4 5 #include <iostream> 6 int main(void) 7 { 8 9 int numb