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 ...
随机推荐
- ManagedProperty not injected in @FacesConverter
I'm trying to inject a ManagedBean in my FacesConverted the following way: @ManagedBean @RequestScop ...
- 【331】python 下载文件:wget / urllib
参考:python下载文件的三种方法(去掉-) 方法一:wget import wget, os # 设置下载路径 os.chdir(r"D:/tmp") url="ht ...
- ORA-01157:无法标识/锁定数据文件,ORA-01110:数据文件。。。
- Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践)
转载:http://www.cnblogs.com/EasonJim/p/6295372.html Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践) 前提: 这一篇是继上一 ...
- Golang笔记之变量
哈哈 package main // 关键字var 声明变量 类型信息放在变量名后 //声明一个int型变量 var v1 int //声明一个string类型 var v2 string //声明多 ...
- mysql常见错误/usr/local/mysql/bin/mysqld: [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
出现这种情况多数是找不到data目录,还有就是对data目录没有写入权限.
- openssl详解
openssl详解 摘自:https://blog.csdn.net/liguangxianbin/article/details/79665100 目录 目录 第一章 前言 第二章 证书 第三章 加 ...
- ASIHTTPRequest-Cookie的使用[转]
ASIHTTPRequest允许你使用全局存储来和所有使用CFNetwork或者NSURLRequest接口的程序共享cookie. 如果设置useCookiePersistence为YES(默认值) ...
- Linux 基础教程 34-软件包管理-RPM
对于Linux而言管理各类软件,如安装.卸载和升级等是常有的事情和必备的技能.以CentOS为例,常用的安装包命令有rpm和yum. RPM基础 RPM(RedHat Package ...
- CodeForces 572D Minimization(DP)
题意翻译 给定数组AAA 和值kkk ,你可以重排AAA 中的元素,使得∑i=1n−k∣Ai−Ai+k∣\displaystyle\sum_{i=1}^{n-k} |A_i-A_{i+k}|i=1∑n ...