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 ...
随机推荐
- IMMDevice::Activate and specifying IID_IBaseFilter as the interface identifier
Use the IMMDevice pointer to the endpoint returned by the enumeration process to activate the desire ...
- 5月23日Google就宣布了Chrome 36 beta
对于开发人员来说,本次更新的重点还有element.animate().HTML Imports.Object.observe()的引入,以及一个改进后的throttled async touchmo ...
- 迷你MVVM框架 avalonjs 沉思录 第3节 动态模板
模板的发明是编程史上的一大里程碑,让我们摆脱了烦锁且易出错的字符串拼接,维护性大大提高. 都在JSP,ASP时代,人们已经学会使用include等语句,将多个页面片断拼接成一个页面. 此外,为了将数据 ...
- MyBatis 提供的内置类型别名
- maven exclusions version
<dependency> <groupId>cn.wonhigh</groupId> <artifactId>base-framework-web< ...
- 【BZOJ2806】Cheat 【广义后缀自动机+单调队列优化dp+二分】
题意 有M篇标准作文组成了一个作文库(每篇作文都是一个01的字符串),然后给出N篇作文(自然也是01字符串).如果一个长度不小于L的串在作文库中出现过,那么它是熟悉的.对于某一篇作文,我们要把它分为若 ...
- liunx 命令大全
一.切换到用户 1.切换到根用户(root) su 2.切换到a用户 su a 二.建立用户,以及mysql的目录1.groupadd mysql #建立一个mysql的组2.useradd -r - ...
- code3286 火柴排队
这道题目相当于是让我们把a,b对齐,即a中第i大的数与b中第i大的数下标相同一看到交换次数,很容易让人想到归并排序我的做法是这样的就样例而言:a:1 3 4 2b:1 7 2 4读进来之后先处理a,b ...
- 文字如何实现完美UI?文本排版设计告诉你
一部手机,电量充足,网络通畅,就足以让我们打发一天的时光,尽情沉浸在手机时代的缤纷世界里.这个信息资源无穷尽的手机网络世界,是设计师和开发者们在不停的探索中一路一步精心打造.如何进一步美化这个世界,优 ...
- URL Scheme
[URL Scheme] 可以通过info.plist注册url types来实现程序自定义的协议,以供外部程序调起. NSURL *myURL = [NSURL URLWithString:@&qu ...