判断一个数字是不是素数
一、问题描述
从键盘接收一个数字,判断该数字是不是素数,并且可以多次输入
二、分析
1、什么是素数?
素数也称为质数,指一个大于1的自然数只能被1和自身整除,这样的数字称为素数。不是素数的数称为合数,但1既不是素数也不是合数。
2、举例
3/1=1 3/3=1 3只能被自身3和1整除,除此之外它没有任何可以整除的因子,因此3就是素数;
9/9=1 9/1=9 9/3=3 9不仅能被1和自身9整除,还可以被3整除,因此9不是素数,它是合数。
3、分析
(1)从键盘接收一个数字,首先用到类Scanner,需要进行导包
( 2)如何判断是不是素数:
下面是三种方法
三、代码实现
import java.util.Scanner;
public class IsPrimeNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println(“请输入您所要判断的数字”);
int num = sc.nextInt();
int count = 0;//通过计数器的值来进行判断
if(num == 1){
System.out.println(“1既不是素数也不是合数”);
return ;
}
for (int i = 2; i < num; i++) {
if (num % i == 0) {
count++;
}
}
if (count == 0) {
System.out.println(“当前数字” + num + “是素数”);
}else{
System.out.println(“当前数字” + num + “不是素数”);
}
}
}
}
//优化: 比如8=18=24 肯定有一个数字是小于等于n/2的
while (true) {
System.out.println(“请输入你要进行判断的数字”);
int num = sc.nextInt();
int i;
if(num == 1){
System.out.println(num+“不是素数也不是合数”);
return ;
}
for (i = 2; i <= num / 2; i++) {
if (num % i == 0) {
break;//有两种退出的情况:一种是for中的约束条件不满足,一种是break
}
}
if (i >num/2) {//不是素数的话肯定有一个数字是小于等于num/2的
System.out.println(num + “是素数”);
}else{
System.out.println(num + “不是素数”);
}
}
}
}/
//优化:肯定有一个数是小于等于根号下num 16 116 28 44
//所有与数学的函数,可以直接找一个类Math 求根号:double a=Math.sqrt();
while(true){
System.out.println(“请输入你要判断的数字”);
int num = sc.nextInt();
int i;
if(num == 1){
System.out.println(num+“不是素数”);
return ;
}
for (i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
break;//有两种退出的情况:一种是for中的约束条件不满足,一种是break
}
}
if (i >Math.sqrt(num)) {//不是素数的话肯定有一个数字是小于等于num/2的
System.out.println(num + “是素数”);
}else{
System.out.println(num + “不是素数”);
}
}
}
}
四、运行结果
判断一个数字是不是素数相关推荐
- python编写一个函数判断一个数是否为素数是则返回yes_编写函数isPrime,判断一个数字是否为素数,是则返回字符串 YES ,否则返回字符串 NO 。_学小易找答案...
[填空题]语句 x = (3,) 执行后x的值为_______________. [填空题]字典对象的___________方法可以获取指定"键"对应的"值", ...
- Java判断一个数字是否是素数
题目要求 从键盘输入一个数字,判断它是否为素数. 一共有三种方法供大家参考 实现代码 1.最基础的求素数的方法:如果一个数字是素数,那么就只能整除1和自己本身,即判断1到该数字本身是否能被整除 imp ...
- java 判断一个数字是否是素数。 素数,质数, 只能被1和自身整除的数。
import java.util.Scanner;/*** * 判断一个数字是否是素数. 素数,质数, 只能被1和自身整除的数.* **/ public class Demo0{public stat ...
- php对手时间戳判断,PHP 中判断一个数字是否是Unix 时间戳
PHP 中判断一个数字是否是Unix 时间戳 在php中一个有效的时间是从 1970-01-01 07:00:00 – 2038-01-19 03:14:07. 首先一个时间戳中肯定没有小数点. 将 ...
- c++判断一个数字是否为buzz number的算法(附完整源码)
C++判断一个数字是否为buzz number的算法 C++判断一个数字是否为buzz number的算法完整源码(定义,实现,main函数测试) C++判断一个数字是否为buzz number的算法 ...
- C++判断一个数字是否是某个数字的阶乘(附完整源码)
C++判断一个数字是否是某个数字的阶乘算法 C++判断一个数字是否是某个数字的阶乘算法完整源码(定义,实现,main函数测试) C++判断一个数字是否是某个数字的阶乘算法完整源码(定义,实现,main ...
- java判断一个整数是不是素数(质数)
java判断一个整数是不是素数(质数) /*** 判断一个数是不是素数(质数)* 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数.*/import java.util.Scann ...
- C++判断一个数字是几位数
C++判断一个数字是几位数 size_t countLenth(unsigned int i, size_t n = 1) {const size_t s = 10;if (i < s){ret ...
- 怎么用C语言搜索有根区间,C语言 判断一个数字是否在一个指定的区间范围内?求解答。。。。...
#include #include usingnamespacestd; intmain() { inta,b,c,d; intn; printf("请输入第一个区间:"); sc ...
- [java]判断一个数字中是否含有某个数字
[java]判断一个数字中是否含有某个数字 例如判断一个数字中是否含有2 代码: public class panduan {public static boolean test(int n) {wh ...
最新文章
- 所有接口添加plist文件的写法 swift
- 巧用FTP命令进行文件传输
- Luogu P5652 基础博弈练习题 (博弈论、图论)
- extract和extractValue的差别
- gson 入门_Google GSON入门
- django-演练-搜索引擎
- java获取上一天数据,java获取日历格式的日期数据
- java中子类怎样调用父类的属性_java的继承、重载(overload)、覆盖(override)的总结...
- 地图标识符号大全_创意游戏小程序大全:胡建土楼游戏!带你领略不一样的创意小游戏...
- 职业学校计算机教师履职总结,中等职业学校骨干教师(计算机应用专业)省级培训 总结...
- 第二周HTML总结3
- Flex请求Php端的奇怪现象
- Definition for rule ‘vue/script-setup-uses-vars‘ was not found.
- 50份Word简历模板,全都免费领取,送给最需要的你
- 平面中圆与矩形相交判定
- 问题记录1:网络和共享中心打不开的解决办法
- 清华梦的粉碎-写给清华大学的退学申请
- andserver FileBrowser 图片浏览
- R语言绘制频数分布直方图或密度分布曲线
- rtsp直播流转m3u8