JAVA判断质数
好久没写了,今天做题有点忘了,不会写了。重新做了一份,整理出来。
import java.util.Scanner;
public class 判断质数 {
public static boolean isPrimeNumber(int num){
if(num==2)return true;
if(num<2||num%2==0)return false;
for(int i=3;i<=Math.sqrt(num);i+=2){
if(num%i==0){
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
if(isPrimeNumber(n)){
System.out.println(n);;
}
}
}
例题:
用 0,1,2,3⋯7这 8 个数组成的所有整数中,质数有多少个(每个数字必须用到且只能用一次)。
提示:以 000 开始的数字是非法数字。
public class 求质数 {
public static boolean isPrime(int num){
if(num==2)return true;
if(num<2||num%2==0) return false;
for(int i=3;i<=Math.sqrt(num);i++){
if(num%i==0)return false;
}
return true;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean used[]=new boolean[8];
for(int i=0;i<8;i++){
used[i]=false;;
}
int num;
int count=0;
for(int a=1;a<8;a++){
used[a]=true;
for(int b=0;b<8;b++){
if(used[b])continue;
else used[b]=true;
for(int c=0;c<8;c++){
if(used[c])continue;
else used[c]=true;
for(int d=0;d<8;d++){
if(used[d])continue;
else used[d]=true;
for(int e=0;e<8;e++){
if(used[e])continue;
else used[e]=true;
for(int f=0;f<8;f++){
if(used[f])continue;
else used[f]=true;
for(int g=0;g<8;g++){
if(used[g])continue;
else used[g]=true;
for(int h=0;h<8;h++){
if(used[h])continue;
else used[h]=true;
num=10000000*a+1000000*b+100000*c+10000*d+1000*e+100*f+10*g+h;
if(isPrime(num)){
count++;
}
used[h]=false;
}
used[g]=false;
}
used[f]=false;
}
used[e]=false;
}
used[d]=false;
}
used[c]=false;
}
used[b]=false;
}
used[a]=false;
}
System.out.println(count);
}
}
我用了0-7的全排列,因为第一个数不能为0,所以从1开始。得到的数进行素数判断
JAVA判断质数的更多相关文章
- 杭电oj 2098——分拆素数和(包含如何判断质数及优化),java实现
question:分拆素数和 思路: 1.首先从1一直遍历到数据的1/2位置(因为后面的会和前面的重复),因为是要两个数,所以另一个数就是原数据减去遍历的数字(即i 和data-i),如果二者同时为质 ...
- 使用Java判断字符串中的中文字符数量
Java判断一个字符串str中中文的个数,经过总结,有以下几种方法(全部经过验证),可根据其原理判断在何种情况下使用哪个方法: 1. char[] c = str.toCharArray(); for ...
- Java判断回文数算法简单实现
好久没写java的代码了, 今天闲来无事写段java的代码,算是为新的一年磨磨刀,开个头,算法是Java判断回文数算法简单实现,基本思想是利用字符串对应位置比较,如果所有可能位置都满足要求,则输入的是 ...
- Java 判断操作系统类型(适用于各种操作系统)
Java 判断操作系统类型(适用于各种操作系统) 最近一段时间写一个授权的程序,需要获取很多信息来保证程序不能随意复制使用,必须经过授权才可以. 为了限制用户使用的操作系统,必须有统一的方法来获取才可 ...
- java判断字符串是否为空的方法总结
http://blog.csdn.net/qq799499343/article/details/8492672 以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观 ...
- Java判断字符串是中文还是英文
在做开发的时候我们经常需要用到根据某个字符或者字符串来判断其是中文还是英文,从而做相应的处理,其实不难,大多数人们都是用到正则来判断的,下面小贝就给大家分享一下Java判断字符串是中文还是英文 推荐文 ...
- (转)java判断string变量是否是数字的六种方法小结
java判断string变量是否是数字的六种方法小结 (2012-10-17 17:00:17) 转载▼ 标签: it 分类: 转发 1.用JAVA自带的函数 public static boolea ...
- JAVA判断32位还是64位,调用不同的DLL(转)
源:JAVA判断32位还是64位,调用不同的DLL 通过获取sun.arch.data.model可判断是32还是64的JAVA 将32或者64位的DLL放不同的目录,实现自适应调用DLL Prope ...
- java判断是否为汉字
java判断是否为汉字 public static boolean isChinese(String str) { String regEx = "[\u4e00-\u9fa5]&quo ...
随机推荐
- XMLHttpRequest.status 返回服务器状态码
XMLHttpRequest.status: 1xx-信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响应. 100-继续. 101-切换协议. 2xx-成功 ...
- linux Crontab 使用
cron 用法说明 全文如下: cron来源于希腊单词chronos(意为“时间”),是linux系统下一个自动执行指定任务的程序.例如,你想在每晚睡觉期间创建某些文件或文件夹的备份,就可以用cron ...
- 使用通配符配置action
建立struts2wildcard项目,此实例基本仿照前面前面第7点的实例改写而成.为了使用通配符,只需要改写配置文件即可.此实例未使用通配时的配置文件如下: <action name=&quo ...
- Fragment生命周期(转)
Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且 ...
- docker 容器创建参数错误记录
sudo docker ps -a -q sudo docker ps -a|cutawk '{print $1}' #删除前八条 sudo docker ps -a -q|head -n |xarg ...
- MongoHelper
/* @@decription mongodbHelper @@version 1.0 @@author think_fish&&dachie @@copyright think_fi ...
- jquery.fn.extend() 与 $.jquery 作用及区别
原文:http://www.cnblogs.com/liu-l/p/3928373.html jQuery.extend()这个方法,主要是用来拓展个全局函数啦,例如$.ajax()这种,要不就是拓展 ...
- EM 最大似然概率估计
转载请注明出处 Leavingseason http://www.cnblogs.com/sylvanas2012/p/5053798.html EM框架是一种求解最大似然概率估计的方法.往往用在存在 ...
- Web图片编辑控件升级日志-Xproer.ImageEditor
版权所有 2009-2014 荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com 产品首页:http://www.ncmem.com/webplug/image-e ...
- awk基础01-基本用法
什么是awk awk 是一门解释型的编程语言,支持条件判断,数组.循环等功能.可用于文本处理.输出格式化的文本信息.执行数学运算.字符串等操作. awk在处理文件时按行进行逐行处理,即 ...