//根据定义判断素数---循环n-1次,当n很大时循环n次

public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        boolean isPrime = true;
        int x = in.nextInt();
        if(x == 1)
        {
            isPrime = false;
        }
        for(int i = 2;i<x;i++)
        {
            if(x%i == 0)
            {
                isPrime = false;
                break;
            }
            
        }
        
        if(isPrime)
        {
            System.out.println(x+"是素数");
        }
        else
        {
            System.out.println(x+"不是素数");
        }
    }

//当n很大时,循环n/2次

public static void main(String[] args) {
        // TODO Auto-generated method stub
        //去掉偶数后,从3到x-1,每次加2
            //如果是偶数,立刻pass掉
            //否则就开始循环
        Scanner in = new Scanner(System.in);
        int x = in.nextInt();
        boolean isPrime = true;
        if(x == 1||x!=2 && x%2 == 0)
        {
            isPrime = false;
        }
        else
        {
            for(int i = 3; i<x ;i = i+2)
            {
                if(x % i == 0)
                {
                    isPrime = false;
                    break;
                }
            }
        }
        
        if(isPrime)
        {
            System.out.println(x+"是素数");
        }
        else
        {
            System.out.println(x+"不是素数");
        }

    }

//循环n的平方根次

public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        //判断x的平方根次
        
        Scanner in = new Scanner(System.in);
        boolean isPrime = true;
        int x = in.nextInt();
        if(x == 1 || x % 2==0 && x!=2 )
        {
            isPrime = false;
        }
        else
        {
            for(int i = 3; i<=Math.sqrt(x); i += 2)
            {
                if( x%i ==0 )
                {
                    isPrime = false;
                    break;
                }
            }
        }
        
        if(isPrime)
        {
            System.out.println(x+"是素数");
        }
        else
        {
            System.out.println(x+"不是素数");
        }

//打印前50个素数

public static void main(String[] args) {
        // TODO Auto-generated method stub
        //打印前50个素数
        int[] primes = new int[50];
        primes[0] = 2;
        int cnt = 1;
        
        out:
        for(int x = 3;cnt<50;x++)
        {
            for(int i = 0;i<cnt;i++)
            {
                if( x%primes[i] == 0)
                {
                    continue out;
                }
            }
            
            //当内层for循环执行完后,若没有执行if内的执行体,则顺序执行当前代码,将x写入数组
            primes[cnt++] = x;
            
        }
        
        for(int k:primes)
        {
            System.out.print(k+" ");
        }
        System.out.println(cnt);
    }

//打印100以内的素数

public static void main(String[] args) {
        // TODO Auto-generated method stub
        //构造100以内的素数表(以计算机的思维)
        boolean[] isPrime = new boolean[100];
        for(int i = 0; i<isPrime.length;i++)
        {
            isPrime[i] = true;
        }
        
        for(int i = 2;i<isPrime.length;i++)
        {
            if(isPrime[i])
            {
                for(int k = 2; i*k<isPrime.length;k++)
                {
                    isPrime[i*k] = false;
                }
            }
        }
        
        for(int i = 2; i<isPrime.length;i++)
        {
            if(isPrime[i])
            {
                System.out.print(i+" ");
            }
        }

    }

java语言 打印素数实例的更多相关文章

  1. JAVA语言的素数判断,随机数,函数调用

    近来刚学JAVA,就从JAVA写起吧,JAVA判别素数,其实方法和C/C++没什么区别,主要就是想谈一下,其中包括的3个点. (1)JAVA语言产生随机数,random函数,定义参数max的作用是给出 ...

  2. java语言打印上三角和下三角,进一步得到九九乘法表

    关于下面两种图形的打印问题 ***** 与 * ****  ** *** *** ** **** *  ***** 一:程序 1.先打印下三角 2.结果 3.后打印上三角 4.结果 二:知识点 1.f ...

  3. java多线程找素数实例

    package ltb20180106; public class FindPrime implements Runnable{ private int prime; private int q; p ...

  4. C语言打印100到200之间的素数

    用C语言打印素数,我们首先要了素数的相关定义:只有1和它本身两个因数的自然数,也就是说除了1和它本身外,不能被其他自然数整除的数就称为素数. 例如:101只能被1 和101 整除:103只能被1 和1 ...

  5. Java实例 Part2:Java语言基础

    Part2:Java语言基础 ** Example01:从控制台接收输入字符 ** 运行结果: 实现代码: import java.util.Scanner; public class Example ...

  6. Java循环和数组练习题:打印素数升级版

    前两天一个小伙伴问了我一个数组的练习题,我一看思路很清晰,就是打印素数加了个数组.没想到写的时候啪啪打脸,终究还是没逃过眼高手低.本来不打算发出来了,因为发出来愈发显得我很菜,最后还是打算分享出来,一 ...

  7. 【Java初探实例篇01】——Java语言基础

    示例系列,将对每节知识辅以实际代码示例,通过代码实际编写,来深入学习和巩固学习的知识点. IDE:intellij IDEA: 语言:Java 本次示例:Java语言基础知识的应用. 创建包day_4 ...

  8. Java 打印程序设计实例

    3.1 打印文本 3.1.1 应用场景 假设我们需要打印一个窗体的某个文本编辑域(可能只有几行,也可能包含多页)的内容,并且每页最多打印 54 行,如何实现呢? 3.1.2 解决方法 基本思路如下:首 ...

  9. 瘋耔java语言笔记

    一◐ java概述                                                                                        1.1 ...

随机推荐

  1. IIS7 应用程序池自动回收关闭的解决方案

    在ASP.NET Application中加入某个定时任务,那想必一定是用一个线程在不停地做定时计算,在自己的ASP.NET应用程序中加入了Quartz.NET框架 夜间或者网站在经过无访问阶段后,后 ...

  2. 【JS基础】

    (function(){-})() ( function (){-} () ) 立即执行函数 在函数体后面加括号就能立即调用,其中这个函数必须是函数表达式,不能是函数声明 函数声明:function ...

  3. java script第一篇(按钮全选的实现)

    今天刚学了java script,记录下学习新知识的点滴.以下是操作步骤.鉴于我是初级者,如有错误,恳请读者指正.万分谢谢. 1.新建一个文档(用NotePad软件,为了使得在浏览器中打开不是乱码,在 ...

  4. SalesForce 记录级别安全性

    对象级安全性 简档 对象级安全性提供了控制 Salesforce.com 中数据的最简单方式.使用对象级安全性 您可以防止用户查看.创 建.编辑或删除特殊类型对象的任何实例 如潜在客户或业务机会.对象 ...

  5. Node.js 教程 04 - 模块系统

    前言: Node.js的模块系统类似于C/C++的文件引用,可以声明对象,也可以定义类 创建对象. 大家这么理解,就简单了. 定义: 为了让Node.js的文件可以相互调用,Node.js提供了一个简 ...

  6. Java 异常处理

    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用System.out ...

  7. 【msql】关于redo 和 undo log

    InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性.和大多数关系型数据库一样,Inno ...

  8. 自定义制作iso镜像

    下载"/etc/yum.repos.d/"下的MondoRescue软件库,文件名为"mondorescue.repo".请为你的Linux OS发行版本下载正 ...

  9. 5-sql查询

    sql查询 一.Sql查询 1.查看表字段信息 用scott账户登陆 1).查看scott账户下的所有表 2).查看员工表字段信息 3).查看部门表字段信息 4).查看工资等级字段信息 2.查询表 1 ...

  10. CFD冲蚀模拟的一些理论

    [TOC] 在CFD中计算颗粒对固体壁面的冲蚀往往采用冲蚀模型(Erosion Model). 1 冲蚀速率(Erosion Rate) 冲蚀速率定义为壁面材料在单位时间单位面积上损失的质量(单位:\ ...