求出100以内的素数(java实现)
j
package test1;
//2018/11/30
//求100以内的所有素数
public class Main10 {
public static void main(String[] args){
Main10 test=new Main10();
System.out.println("100以内的素数:");
int count=0;
for(int i=2;i<100;i++) {
if(test.isPrimeNumber(i)==true) {
System.out.print(i+" ");
count++;
if(count%10==0) {
System.out.print("\n");
}
}
}
}
public boolean isPrimeNumber(int number){
boolean flag=true;
if(number<=0) {
throw new IllegalArgumentException("number是不合法的参数!");
}
for(int i=2;i<=Math.sqrt(number);i++) {
if(number%i==0) {
flag=false;
break;
}
}
return flag;
}
}
下面是另一种
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
//检验一个数是不是素数,如果所有小于它的素数都不能将它整除,那么它就是素数
public class Main11 {
public static void main(String[] args) {
List<Integer> primes=getPrimes(100);
System.out.println("100以内素数如下:");
for(int i=0;i<primes.size();i++) {
Integer prime=primes.get(i);
System.out.print(prime+" ");
if(i%10==0) {//每10个换行
System.out.println();
}
}
}
/*
* 求n以内的所有素数
*
*/
private static List<Integer> getPrimes(int n){
List<Integer> result =new ArrayList<Integer>();
result.add(2);//第一个素数先放入
for(int i=3;i<=n;i+=2) { //遍历,减少循环次数,步长为2
if(!divisble(i,result)) { //判断是否有素数能被整除
result.add(i); //如果不能整除,加入列表List
}
}
return result; //返回列表list
}
/*
* 判断n能否能被整除
*
*/
private static boolean divisble(int n,List<Integer> primes) {
for(Integer prime:primes) { //遍历列表List
if(n % prime == 0) {
return true;
}
if(prime>=Math.sqrt(n)) //如果超过平方根,还没找到整除,退出循环
break;
}
return false;
}
}
求出100以内的素数(java实现)的更多相关文章
- 斐波那契数列(递归)&求100以内的素数
Java 5 添加了 java.util.Scanner 类,这是一个用于扫描输入文本的新的实用程序.它是以 前的 StringTokenizer 和 Matcher 类之间的某种结合.由于任何数据都 ...
- Python练习题 026:求100以内的素数
[Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...
- Java例题_27 100以内的素数
1 /*27 [程序 27 求素数] 2 题目:求 100 之内的素数 3 */ 4 5 /*分析 6 * 素数:是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 7 * 同第二题: ...
- python、C++经典算法题:打印100以内的素数
题目 打印100以内的素数 思路1 素数的特点: 素数一定是奇数 一个数如果是合数,那么它一定能够被2到这个合数的开平方内的某个素数整除(这个特点是提升效率的关键) 一个数如果不能被从2到它自身开平方 ...
- 实现100以内的素数输出(Python与C++对比)
今天从链接http://www.2cto.com/kf/201302/187699.html中看到了Python实现100以内的素数输出的算法,颇受感触.尤其是被其中的Python的列表生成器的使用方 ...
- 1.2输出100以内的素数&输出前100个素数。
输出100以内的素数只是一个嵌套,在1.1的基础上添加一层循环,只需要注意从2开始,并且变量需要换一个. #include<stdio.h> int main() { ; ; i < ...
- python脚本11_求10万以内所有素数
#求10万以内所有素数 num = int(input(">>>")) strs = '' for i in range(2,num): for c in ran ...
- 求出10000以内所有的完全数-python
题目: 如何用python去求出下一个(大于28的)完全数? (求出10000以内所有的完全数) 分析: 如果一个数恰好等于它的因子之和,则称该数为"完全数".各个小于它的约数(真 ...
- 用python计算100以内的素数
用python计算100以内的素数 : break else: list.append(i)print(list)
随机推荐
- July 09th, 2018. Monday, Week 28th.
Happiness is an inside job. 自内寻找,才能找到幸福. From William Arthur Ward. Nobody wants to suffer, and we al ...
- 多线程总结之旅(1):线程VS进程
一.进程:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,也就是应用程序的执行实例,进程是系统进行资源分配和调度的一个独立单位.每个进程是由私有的虚拟地址空间.代码.数据和其它各种系统资 ...
- nginx之location配置详解及案例
语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码, ...
- ASP.NET Core 共享第三方依赖库部署的正常打开方式
曾经: 写了一篇: ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署 当第二次想做相同的事,却遇上了Bug,于是有了第二篇: ASP.NET Core 共享第三方依 ...
- ASP.NET Core中使用GraphQL - 第二章 中间件
前文:ASP.NET Core中使用GraphQL - 第一章 Hello World 中间件 如果你熟悉ASP.NET Core的中间件,你可能会注意到之前的博客中我们已经使用了一个中间件, app ...
- MaterialCalendarDialog【Material样式的日历对话框】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 Material样式的日历对话框 前提条件:Activity界面必须继承FragmentActivity或者其子类(比如AppCom ...
- 秋招已过,各大厂的面试题分享一波 附C++实现
数据结构和算法是面试的一座大山,尤其去面试大厂更是必不可少!简单说明一下为啥喜欢考数据结构和算法,首先,算法有用也没用,如果是中小型企业的简单业务逻辑,可能用不到啥算法,但大厂一定会用到,都知道数据库 ...
- Tesseract 在 windows 下的安装及简单应用
Tesseract 是一个开源的 OCR 引擎,可以识别多种格式的图像文件并将其转换成文本,最初由 HP 公司开发,后来由 Google 维护.下载地址:https://digi.bib.uni-ma ...
- tcc分布式事务框架解析
前言碎语 楼主之前推荐过2pc的分布式事务框架LCN.今天来详细聊聊TCC事务协议. 2pc实现:https://github.com/codingapi/tx-lcn tcc实现:https://g ...
- 1.5准备CentOS和Nginx环境「深入浅出ASP.NET Core系列」
准备CentOS 1.1虚拟机 CentOS的安装这里使用vmware workstation 14来做虚拟机,当然你也可以用Oracle的虚拟机或者不用虚拟机,使用云服务或者使用双系统,不是什么大问 ...