专栏首页码云1024JAVA 练习 找出素数

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();
        
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JAVA数组练习

    拾点阳光
  • JAVA 第二天 基本数据类型

    拾点阳光
  • c++指针函数的使用——回调函数

    拾点阳光
  • 04-02.总结switch,for,while,do。while跳转语句

    (4)do...while循环 A:基本格式 do { 循环体语句; }while(判断条件语句); 扩展格式: 初始化语句; do { 循环体语...

    奋斗蒙
  • 排序算法的实现与比较

    Zoctopus
  • Go语言学习之 - 简单的并发程序

    简单、
  • 使用嵌套循环打印图形

    仔细观察杨辉三角,你会发现,杨辉三角的每一行的第一个数字和最后一个数字都是1.中间的数是头上的数和头上的前一个数相加的和。这样我们就可以结合打印图形和杨辉三...

    微醺
  • java利用for循环输出正三角新解

    本人在重新学习Java的过程中,遇到一个作业,就是用循环输出正三角,在完成作业之余,查看了很多网上的答案,用了好几次for循环,基本思路就是先拼接前面的空格,在...

    八音弦
  • 数据结构与算法-打印菱形算法

    cwl_java
  • 第三天 引用类型选择结构循环结构【悟空教程】

    奋斗蒙

扫码关注云+社区

领取腾讯云代金券