使用java,求100以内的质数(素数)
当时写的太着急了,代码我没整理,所以显得有点乱,大家见谅哈!
使用java,求100以内的质数(素数),做这道题目,有很多种方式!我代码中写了3种,大家可以任选一种!很多公司的面试的时候,笔试的时候很喜欢出这道题目。
(java的面试中很多时候都会考这道题目,不光可以考察多层嵌套循环,还可以考察break、sqrt()函数、小算法、条件判断结构、效率性能等等知识点,而且题目还不算太大,也不算太难,所以大家最好要会写)
package javase;import java.util.Scanner;/** * 求100以内的质数*/
public class PrimeNumber {/** * 求100以内的质数*/public static void main(String[] args) {//求100以内的质数int number = 0;int innerNumber = 0;int count = 0; //100内有多少个质数for (number = 2; number <= 100; number++) {
// for (innerNumber = 2; innerNumber <= number; innerNumber++) {for (innerNumber = 2; innerNumber <= number; innerNumber++) {if (number % innerNumber == 0 && number != innerNumber) {break;}//如下这种写法也可以
// if (number == innerNumber) {
// System.out.println("质数" + number);
// }if (number % innerNumber == 0 && number == innerNumber) {count++;System.out.println("第" + count + "个质数=" + number);}}}System.out.println("----------100以内总共有" + count + "个质数!----------");// test();test2();myFor();}public static void test() {System.out.println("-------------------");int count1 = 0, count2 = 0;for (int i = 5; i <= 20; i++) {// 每一个数一个个接受检验是否为素数for (int j = 2; j <= Math.sqrt(i); j++) {if (i % j != 0) {//不能被整除累计一次count1++;}}// 转为int的类型int num = (int) Math.sqrt(i);//如果累计次数num - 1个数相等则为素数if (count1 == (num - 1)) {System.out.println("素数:" + i);count2++;}// 统计素数个数count1 = 0;}System.out.println(count2);}public static void test2() {Scanner in = new Scanner(System.in);int x;System.out.println(" 请输入要求的素数范围:");// 加入一个提示语句x = in.nextInt();System.out.println(" 2到" + x + "内的素数有:");int i, n;for (i = 2; i <= x; i++){for (n = 2; n <= (int) Math.sqrt(i); n++)// 核心语句:内层变量<=(int)Math.sqrt(外层变量)if (i % n == 0)break;if (n > (int) Math.sqrt(i))//判断是否为素数System.out.print(" " + i);// 输出素数}}public static void myFor() {System.out.println("*************************");for (int i = 1; i <= 5;) {System.out.println("i = " + i);i++;}System.out.println("*************************");for (int i = 1; i <= 5; i++) {System.out.println("i = " + i);}}}
package javase;
import java.util.Scanner;
/**
* 求100以内的质数
*/
public class PrimeNumber {
/**
* 求100以内的质数
*/
public static void main(String[] args) {
//求100以内的质数
int number = 0;
int innerNumber = 0;
int count = 0; //100内有多少个质数
for (number = 2; number <= 100; number++) {
// for (innerNumber = 2; innerNumber <= number; innerNumber++) {
for (innerNumber = 2; innerNumber <= number; innerNumber++) {
if (number % innerNumber == 0 && number != innerNumber) {
break;
}
//如下这种写法也可以
// if (number == innerNumber) {
// System.out.println("质数" + number);
// }
if (number % innerNumber == 0 && number == innerNumber) {
count++;
System.out.println("第" + count + "个质数=" + number);
}
}
}
System.out.println("----------100以内总共有" + count + "个质数!----------");
// test();
test2();
myFor();
}
public static void test() {
System.out.println("-------------------");
int count1 = 0, count2 = 0;
for (int i = 5; i <= 20; i++) {
// 每一个数一个个接受检验是否为素数
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j != 0) {
//不能被整除累计一次
count1++;
}
}
// 转为int的类型
int num = (int) Math.sqrt(i);
//如果累计次数num - 1个数相等则为素数
if (count1 == (num - 1)) {
System.out.println("素数:" + i);
count2++;
}
// 统计素数个数
count1 = 0;
}
System.out.println(count2);
}
public static void test2() {
Scanner in = new Scanner(System.in);
int x;
System.out.println(" 请输入要求的素数范围:");// 加入一个提示语句
x = in.nextInt();
System.out.println(" 2到" + x + "内的素数有:");
int i, n;
for (i = 2; i <= x; i++)
{
for (n = 2; n <= (int) Math.sqrt(i); n++)
// 核心语句:内层变量<=(int)Math.sqrt(外层变量)
if (i % n == 0)
break;
if (n > (int) Math.sqrt(i))//判断是否为素数
System.out.print(" " + i);// 输出素数
}
}
public static void myFor() {
System.out.println("*************************");
for (int i = 1; i <= 5;) {
System.out.println("i = " + i);
i++;
}
System.out.println("*************************");
for (int i = 1; i <= 5; i++) {
System.out.println("i = " + i);
}
}
}
使用java,求100以内的质数(素数)相关推荐
- Java 求100以内的质数
public class TestPrime{public static void main(String[] args){boolean f=true;for(int i=2;i<99;i++ ...
- C语言判断一个整数是不是素数(质数)、求100以内的所有素数、求前50个素数
目录 一.什么是素数(质数 Prime) 二.判断一个整数是不是素数(质数)代码 三.求100以内的所有素数(质数) 四.输出前50个素数(质数) 一.什么是素数(质数 Prime) 质数又称素数.一 ...
- 求100以内的质数(Java版定义法、break优化,Math.sqrt()优化)
说明 第一次写CSDN博客,一方面是记录自己学习复习,另一方面是向各位大牛学习,如有更优的算法,还望不吝赐教. 这是一个入门级的编程问题,常见的是求100以内的质数,这里为了能更好的体现算法的重要性, ...
- Java经典例题01:求100以内的所有素数并输出
求100以内的所有素数并输出. (素数:一个大于1的整数,除了1和它本身外,不能被其他整数整除) 难度指数:★★★ 方法:双重循环 解题思路 ...
- java语言 判断素数,C语言实现判断一个数是否为素数并求100以内的所有素数
判断一个数是否为素数 算法思想 设一个正整数x,sqrt(x)为x开平方后的值,若x不为素数,则x=a*b,a,b为2~x-1之间的整数,且当2=< a <= sqrt(x)时,必有sqr ...
- java求n以内的质数
java求n以内的质数 思想 素数即除了1和它本身以外不再有其他因数,最小的素数是2 方法:将n分别与2到(n+1)/2取余,若有一个值为0,则n就不为素数,反之为素数 //打印n以内的质数 // 素 ...
- Java输出100以内的质数(及其代码优化详程)
文章目录 Java输出100以内的质数 重点:<代码的优化> P1:currenttimemillis方法计算运行时间 p2:优化一(针对非质数) p3:Java 中 Math.sqrt( ...
- Golang 008. 求100以内的质数
[基础入门题]Golang 008. 求100以内的质数 求100以内的质数,又称素数,即只能被1和本身整除的整数. ---------------------------- 源代码: package ...
- c语言 sqrt求100以内素数,C语言实现判断一个数是否为素数并求100以内的所有素数...
判断一个数是否为素数 算法思想 设一个正整数x,sqrt(x)为x开平方后的值,若x不为素数,则x=a*b,a,b为2~x-1之间的整数,且当2=< a <= sqrt(x)时,必有sqr ...
- 计算100以内最大质数和求100以内的质数
#计算100以内最大质数 for n in range(100,1,-1):#如果n==2时则最大质数为2if n==2:print('100以内最大质数为2')#判断是否为偶数if n%2==0:c ...
最新文章
- Python精讲Numpy基础,大牛笔记详细解释
- 160个Crackme013之投机取巧
- mybatis 缓存总结以及遇到的问题
- 山东理工OJ【2121】数据结构实验之链表六:有序链表的建立(插排法)
- 12 个问题搞懂 Redis
- Python_自定义关键字的使用
- java markdown转word_一键将 Word 转换为 Markdown
- arduino 3d打印机_Firefox OS流视频,使用Arduino销售3D打印机等
- 第六章节 三层架构(一. 三层架构的概述)
- zone watermark水位控制
- 反激变换器matlab仿真变压器demo,反激变换器建模Matlab仿真
- Tensorflow2.0之Minist手写数字识别
- 永磁同步电机MTPA最大转矩电流比控制仿真(公式法)
- mac添加Chrome插件的方法
- hdmi怎么支持2k分辨率_27寸2k分辨率的护眼显示器推荐:飞利浦275E9使用测评
- 易經大意(7) 三和 韓長庚 著
- 【GitHub】项目代码上传github
- Cadence Orcad Capture常用的快捷键图文
- 未约定保证方式,担保人如何担责
- pc端网页的设计尺寸
热门文章
- PCWorld:Android游戏业务渐露锋芒
- U盘制作DOS启动盘MSDOS 7.10
- matlab拟合函数的三种方法
- SAP Table 汇总版
- 手机怎么用外嵌字幕_iphone 12发布 ! “预购、定金、尾款、换手机”用英语怎么说?...
- 计算机毕设(附源码)JAVA-SSM基于JAVA宠物店管理系统
- 简谈BOOST升压电路
- java毕业生简历_一个18年毕业生的Java简历
- 阿里巴巴Java编程规范试题答案
- 异速联显示连接服务器失败,异速联客户端登陆时正在连接服务器