【Java学习之路】Java编程之判断素数
来源:互联网 发布:运营商网络重构步骤 编辑:程序博客网 时间:2024/05/22 11:17
输入一个整合判断是否为素数。
首先说一下,我们大家都知道什么是素数,素数就是只能被1和其本身所整除的数。
那么我们来说一下判断原理:素数只能被1和其本身整除的数,那么从另一个方面来说,除了1和其本身,其他的数都不能整除与他的数就是素数,那么我们的代码就可以这样来写。
代码如下:
import java.util.Scanner;//因为下面用到的Scanner类,所以要引包public class Test {public static void main(String[] args) {// 输入一个整数判断是否是素数Scanner sc = new Scanner(System.in);System.out.println("请输入一个整数:");int a = sc.nextInt();// 接收输入的值,赋值给aboolean flag = true;// 为下面的判断定义一个标记// 判断输的数是否是素数// 使用for循环进行循环判断for (int i = 2; i < a; i++) {// i=2和i<a是因为我们要判断除了1和其本身,其他可以整除a的数// 使用if判断是否能被2到小于其本身的数,所整除if (a % i == 0) {// 如果a除以i取余的结果是零,那么这个数就不是素数flag = false;// 因为判断出不是素数,所以把值给为falsebreak;// 因为已经判断出了这个数不是素数,所以继续判断下去已经无意义,使用break退出循环}}// 使用if判断所做的标记flag,入过为true就执行下面的内容if (flag && a != 1) {// 在前面我么没有判断1,所以在此加上&&System.out.println(a + ":是素数");} else {System.out.println(a + ":不是素数");}}}
上面我们判断出了素数,那么如果要打印1000以内的所有素数,该怎么做呢?
代码如下:
public class Test {public static void main(String[] args) {// 输入一个整数判断是否是素数for (int j = 2; j <= 1000; j++) {boolean flag = true;// 为下面的判断定义一个标记// 判断输的数是否是素数// 使用for循环进行循环判断for (int i = 2; i < j; i++) {// i=2和i<a是因为我们要判断除了1和其本身,其他可以整除a的数// 使用if判断是否能被2到小于其本身的数,所整除if (j % i == 0) {// 如果a除以i取余的结果是零,那么这个数就不是素数flag = false;// 因为判断出不是素数,所以把值给为falsebreak;// 因为已经判断出了这个数不是素数,所以继续判断下去已经无意义,使用break退出循环}}// 使用if判断所做的标记flag,入过为true就执行下面的内容if (flag) {// 在前面我么没有判断1,所以在此加上&&System.out.println(j);}}}}
阅读全文
0 0
- 【Java学习之路】Java编程之判断素数
- java之简单的判断素数算法
- Java杂谈三之判断素数以及穷举素数
- Java基础编程之打印素数
- java学习之路 之 网络编程
- 素数筛选(《编程珠玑》学习之路)
- java之判断101-200间的素数
- JAVA之判断整数n是否为素数
- java网路编程学习之路(1)
- java网路编程学习之路(2)
- java网络编程学习之路(3)
- JAVA学习之路--界面编程1
- JAVA学习之路--界面编程2
- java学习之 网络编程
- Java 学习之 Swing 编程
- java--------学习之《网络编程》
- Java学习之网络编程
- Java学习之编程技巧
- 指针实现 strcpy()字符串拷贝
- Batch Normalization导读
- android 通过代理activity的方式实现插件化
- Lombok
- Terminator安装与设置
- 【Java学习之路】Java编程之判断素数
- c++父类与子类的转换(QT环境下)
- Android的按键页面跳转设计
- Google Analytics
- jsp与Servlet
- Python3 简介及使用
- 鱼眼校正
- svn提交中遇到locked锁定问题
- 微信分享SDK接入——Java