
正文
java中计算质数代码 java质数算法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用java如何写代码去判断质数和合数
首先介绍下:质数是除了本身和1以外,没有质因数,就是没有数能够整除之;合数是除了本身和1以外还有第三个数能整除之。
具体示例代码如下:
public class Demo2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("请输入一个数:");
int num = scan.nextInt();
int index = 0;//使用一个数来标记是质数还是合数
for (int i = 2; i num; i++) {
if (num % i == 0) {
index++;
}
}
if (index == 0) {//index等于0表示质数
System.out.println("这是个质数");
}
else {//index大于0表示合数
System.out.println("这是个合数");
}
}
}
需要注意的是:1不算质数也不算合数。
相关问答
Q1: java程序1到200的质数。代码如下
一个好的算法,要经的起推敲,不要只求结果
import java.util.ArrayList;
import java.util.List;
public class Primes {
public static void main(String[] args) {
// 求素数
ListInteger primes = getPrimes(200);
// 输出结果
for (int i = 0; i primes.size(); i++) {
Integer prime = primes.get(i);
System.out.printf("%8d", prime);
if (i % 10 == 9) {
System.out.println();
}
}
}
/**
* 求 n 以内的所有素数
*
* @param n
* 范围
*
* @return n 以内的所有素数
*/
private static ListInteger getPrimes(int n) {
ListInteger result = new ArrayListInteger();
result.add(2);
for (int i = 3; i = n; i += 2) {
if (!divisible(i, result)) {
result.add(i);
}
}
return result;
}
/**
* 判断 n 是否能被整除
*
* @param n
* 要判断的数字
* @param primes
* 包含素数的列表
*
* @return 如果 n 能被 primes 中任何一个整除,则返回 true。
*/
private static boolean divisible(int n, ListInteger primes) {
for (Integer prime : primes) {
if (n % prime == 0) {
return true;
}
}
return false;
}
}
Q2: 求一段java代码,题目是求1到100之间所有质数和?
int sum =0;int x=0;
for(int m =2,m=100,m++){//循环从2开始,2最小的质数,循环到100
for(int n = 2,nm,n++){//循环除以比自己小的数字
if(m%n==0){//若余数为0,则个数加一,即去的可被整除的数字的个数
x++;
}
}
if(x==0){//当m不可以整除比自己小的整数后,加sum。
sum+=m;
}
}
如此循环,到100结束,不能整除小于自身的数字的和就是sum了。
往楼主采纳
Q3: 用JAVA语言求质数
程序如下,希望有所帮助
public class Prime {
//判断质数
public static void isPrime(int num) {
int j = 2;
for (; j = Math.sqrt(num); j++) {
if (num % j == 0) {
System.err.println(num + "不是质数!");
return;
}
}
if (j Math.sqrt(num)) {
System.err.println(num + "是质数!");
return;
}
System.err.println(num + "不是质数!");
return;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.err.println("请输入数字:");
int num = sc.nextInt();//接收输入
isPrime(num);//判断是否为质数
}
}
Q4: java怎么求质数(运用布尔,数组)
/**
* 0-100:是:101个数字,不是100个;
* 0与1,不是质数也不是合数:
* 以下代码写java中计算质数代码的有点冗余:只因为题目要求,布尔数组要参与运算!
* 其实一个循环就可以解决java中计算质数代码的事!
*/
public class Prime {
public static void main(String[] args) {
int arr[]=new int[101],count=0;//元素数组!
boolean[] brr=new boolean[101];//标记数组!
for(int i=0;iarr.length;i++) //循环复制!
arr[i]=i;
f:for (int i = 0; iarr.length; i++) {//判断!
if(i2)continue f;//跳过,0,1;
for(int tem=i;tem--!=2;)
if(i%tem==0)
continue f;
brr[i]=true;//标记
}
for (int i = 0; i brr.length; i++) {//查看!
if(brr[i]!=false) {
count++;
System.out.print(arr[i]+" ");
}
}
System.out.println("\r\n0-100质数共:"+count+"个!");
}
}
关于java中计算质数代码和java质数算法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







