for循环输出素数探究【java】
一、判断953是不是为素数(质数)。
代码:
/**
判断953是不是为素数(质数)
分析:
素数指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。
假设953是素数,则:
953 % 2 !== 0
953 % 3 !== 0
953 % 4 !== 0
……
953 % 952 !== 0
反推得出,只要953被2~952之间的任何一个整数整除,则953不是素数。 除数从2开始到952按照整数依次递增,则用for循环表示为:
for(int i=2;i<953;i++){
判断953能否被i整数
如果能被整除,则953不是素数,结束循环,跳出去输出“953不是素数”
如果不能被整除,则953是素数,结束循环,跳出去输出“953是素数”
}
*/ public class IsPrime
{
public static void main(String[] args){ int num = 953;
boolean isPrime = true; // 标记数字num默认为素数
for(int i=2;i<num;i++) {
if(num%i==0) { // num能够被2~num-1之间的自然数整数
isPrime = false; // 标记数字num为非素数
break; // 结束循环
}
} System.out.println(isPrime?num+"是素数":num+"不是素数"); }
}
代码结果显示:
二、列出1~100之间的所有素数
代码:
/**
列出1~100之间的所有素数
分析:
上面代码片段表示判断num为953的自然数是不是素数,
假设num为937,则判断937是不是素数,
假设num为933,则判断933是不是素数, 因此将num设置为一个变量,利用for循环进行从1~100进行递增,
将上门的代码片段放入该for循环中,判断为素数就打印出来。 for(int num=2;num<=100;num++) { 判断num是不是素数的代码片段 } */ public class IsPrime
{
public static void main(String[] args){ for(int num=2;num<=100;num++) {
boolean isPrime = true; // 标记数字num默认为素数
for(int i=2;i<num;i++) {
if(num%i==0) {
isPrime = false;
break;
}
}
if(isPrime) {
System.out.print(num+" ");
}
}
}
}
代码解释说明:
代码结果显示:
三、列出1~100之间的所有素数,并每行显示5个数。
代码:
/**
列出1~100之间的所有素数,并每行显示5个数。
分析:
从上例代码中可以得到1~100之间的所有素数。
要想每行显示5个数,就是要知道每次素数得出的时候,知道它是第几个出现的,然后进行累加
当累加数字到5时,就换行。 因此需要用一个标记来记录每次素数输出的次数。 */ public class IsPrime
{
public static void main(String[] args){ int count = 0; // 计数器,用来在每次素数打印时,记录次数。
for(int num=2;num<=100;num++) {
boolean isPrime = true; // 标记数字num默认为素数
for(int i=2;i<num;i++) {
if(num%i==0) {
isPrime = false;
break;
}
}
if(isPrime) {
System.out.print(num+" ");
count++; // 每打印一个素数就记录一次
if(count%5==0) { // 每计数器累计记录5次,就换行一次。
System.out.println();
}
}
}
}
}
代码变形:计数器如果实现每5次累计之后,就置零也可以达到相应的计数效果。 将上述25行~31行代码进行置换以下代码,即可:
if(isPrime) {
System.out.print(num+" ");
count++; // 每打印一个素数就记录一次
if(count==5) { // 计数器累计到数字5时,就换行一次
System.out.println();
6 count = 0; // 计数器进行置零
}
}
代码结果显示:
四、输出9*9乘法表
代码:
/**
输出显示9*9乘法表
1*1=1
1*2=2 2*2=2
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
……
1*9=9 2*9=18 …… …… 9*9=81 分析:按照每行和每列进行规律分析
- 表格共9行,
- 每第几个行输出需要共几个等式 恒等式格式为 i*j=c
· 每行i从1开始递增到j,表示为每第j行输出可以输出共i个等式
因此使用for循环表示为:
for(int i=1;i<=j;j++) {
……
}
· 表示第j行
for(int j=1;i<=9;j++) {
输出一行 //该循环体执行一次,就换行一次。
}
因此第一个for循环体需要在第二个for循环体之内。
*/ public class Test03
{
public static void main(String[] args) {
for(int j=1;j<=9;j++) {
for(int i=1;i<=j;i++){
System.out.print(i+"*"+j+"="+i*j+" "); // i从1~j循环显示,第j行需要显示1~j个恒等式
}
System.out.println(); // 每上面的i循环体执行一次结束,即该行显示完毕,就换行一次
}
}
}
代码结果显示:
for循环输出素数探究【java】的更多相关文章
- for循环输出空心菱形的形状【java】
使用for循环语句输出以下“空心菱形”效果: * * * * * * * * * * * * * * * * 建议优先参考笔者的另一篇文章:<for循环输出菱形的形状[java]> 代码: ...
- Java多线程:用三个线程控制循环输出10次ABC
转载:http://www.cnblogs.com/gaopeng527/p/5257884.html 题目:有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C,要求, 同时启动三个 ...
- 11、增强型for循环对二维数组的输出(test8.java)
由于笔者原因,这部分知识,尚不能整理出代码,笔者会好好学习增强型for循环中迭代起的相关知识,在笔者有能力,书写好这段代码后,将对本篇文章,进行二次修改,也同时欢迎大家与笔者交流,共同学习,共同进步. ...
- 042 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 04 案例演示while循环的使用——循环输出英文字母
042 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 04 案例演示while循环的使用--循环输出英文字母 本文知识点:案例演示while循环的使用2 ...
- Java使用for循环输出杨辉三角
杨辉三角形由数字排列,可以把它看做一个数字表,其基本特性是两侧数值均为1,其他位置的数值是其正上方的数字与左上角数值之和.编写程序,使用for循环输出包括10行在内的杨辉三角形. 思路是创建一个整型二 ...
- Java基础50题test2—输出素数
[输出素数] 题目:判断 101-200 之间有多少个素数,并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数 pu ...
- JAVA 基础编程练习题2 【程序 2 输出素数】
2 [程序 2 输出素数] 题目:判断 101-200 之间有多少个素数,并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数, ...
- 输出质数(Java)
输出质数 一.什么是质数 质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数,否则称为合数(规定1既不是质数也不是合数). 二.代码实现 1.输出100以内的质数 i ...
- 关于hasNextInt判断后无限循环输出else项的解决办法
话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...
随机推荐
- WindowsPE权威指南 第二章 小工具 PEComp代码的C语言实现
主程序代码 PEComp.c #include <windows.h> #include <Richedit.h> #include <Commctrl.h> #i ...
- JAVA 8 日期工具类
JAVA 8 日期工具类 主题描述 JAVA中日期时间的历史 代码成果 主题描述 JAVA的日期时间一直比较混乱,本来以为joda会是巅峰,但是JAVA 8改变了我的思想.但是即便在JAVA 8面前, ...
- 洛谷P1443 马的遍历
https://www.luogu.org/problemnew/show/P1443 很经典的搜索题了,蒟蒻用广搜打的 不说了,上代码! #include<bits/stdc++.h> ...
- 【洛谷P2584】【ZJOI2006】GameZ游戏排名系统题解
[洛谷P2584][ZJOI2006]GameZ游戏排名系统题解 题目链接 题意: GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在 ...
- 07arguments对象.html
07arguments对象.html <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- sklearn导入模块问题:python ImportError: No module named datasets
提示无法导入module 问题原因:将文件命名为sklearn.py. 解决方式:将文件命名为其他. 引用: [1] https://stackoverflow.com/questions/49635 ...
- hdu 1086 You can Solve a Geometry Problem too [线段相交]
题目:给出一些线段,判断有几个交点. 问题:如何判断两条线段是否相交? 向量叉乘(行列式计算):向量a(x1,y1),向量b(x2,y2): 首先我们要明白一个定理:向量a×向量b(×为向量叉乘),若 ...
- SQL Server对比两字符串的相似度(函数算法)
一.概述 最近有人问到关于两个字符串求相似度的函数,所以就写了本篇文章,分别是“简单的模糊匹配”,“顺序匹配”,“一对一位置匹配”.在平时的这种函数可能会需要用到,业务需求不一样,这里只给出参照 ...
- 使用Nginx+Uwsgi部署Python Flask项目
第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...
- W3bsafe]SQLmap过狗命令的利用+教程
W3bsafe]SQLmap过狗命令的利用+教程 本文转自:i春秋社区 我就是那个爱装逼的小人 本屌又来装逼了 SQLmap注入的时候 有的肯定会被安全狗拦截吧 本屌来教各位过狗!过waf等安全狗 ...