首页 > 代码库 > JAVA 练习 找出素数

JAVA 练习 找出素数

package com.zhang.hello;public class Task {    /**     * 1. 输出打印九九乘法表     * */    public void NO1(){        for(int i=1;i<10;i++){            for(int j=1;j<=i;j++){                System.out.print(j+"*"+i+"="+(i*j)+"\t");            }            System.out.println();        }    }    /**     * 2. 求1!+2!+3!+...+20!之和。     *      * */    public long NO2(long n) {//n=20        long s=0;        for(long i=1;i<=n;i++){            long k=1;            for(long j=i;j>0;j--){                k*=j;            }            s+=k;        }        return s;    }    /**     * 3. 求1!+5!+9!+...+21!之和。     * */    public double NO3(double n) {//n=21        double s=0;        for(int i=1;i<=n;i+=4){            double k=1;            for(int j=i;j>0;j--){                k*=j;            }            s+=k;        }        return s;    }    /**     * 4. 求1+(1+2)+(1+2+3)+···+(1+2+3+···+10)的值?     * */    public int NO4(int n) {//n=10        int s=0;        for(int i=1;i<=n;i++){            int k=0;            for(int j=i;j>0;j--){                k+=j;            }            s+=k;        }        return s;    }    /**     * 5.输出杨辉三角     * */    public void NO5(){        int h=1;        for(int i=0;i<4;i++){            for(int j=4;j>i;j--){                System.out.print(" ");            }                        for(int j=0;j<h;j++){                System.out.print("@");            }            h+=2;            System.out.println("");        }        System.out.println("-------------");        h=1;        for(int i=0;i<4;i++){            for(int j=4;j>i;j--){                System.out.print(" ");            }                        for(int j=0;j<h;j++){                if(j%2==0) System.out.print("@");                else System.out.print(" ");            }            h+=2;            System.out.println("");        }    }    /**     * 6.输出100到1000个位为3的所有素数     * */    public void NO6(){        boolean[] prime=new boolean[1000];        for(int i=0;i<1000;i++){            if(i%2==0) prime[i]=false;//排除偶数            else prime[i]=true;        }                        for(int i=3;i<=Math.sqrt(1000);i+=2){            if(prime[i]){//如果他是素数,他的倍数全部排除                for(int j=i+i;j<1000;j+=i){                    prime[j]=false;                }            }        }                                for(int i=0;i<1000;i++){            if(prime[i]&&i>99&&i<1000&&i%10==3)                System.out.println(i+" ");        }    }    public static void main(String[] args) {        Task t=new Task();        t.NO1();        System.out.println(t.NO2(20));        System.out.println(t.NO3(21.0));        System.out.println(t.NO4(10));        t.NO5();        t.NO6();            }}

 

JAVA 练习 找出素数