Java菜鸟:质数判断
题目:用于判断某一整数n(n=29)是质数,还是合数。-----------------------Code Start--------------------------------------
public class abc2{
public static void main(String[] args){
int n=29; //n 可以是任何数,以29为例子
int sum; //计算存放的变量
int t=0; //累计变量t,用于计算整除次数的累计变量,用于判断质数和合数的过度变量
/*
1、 判断概念:质数只能被1和本身整除。
那么可以用 i=n-1 作为循环条件,将任意数 n 减 1,从1到n 范围的数,全部除一遍,就知道是不是质数。
2、下面算法是,将29分别与 1—28的数相除,同时用上%算法,求余数值。若余数=0就是整除,那么t 增加1,t若是大于1次,证明在 1到(n-1)这个过程相除存在第三个能被整除的,证明不是质数。 )
*/
for(int i=n-1;i>=1;i--) { // i 是规划 和n值相除的范围数 就是 1—28的范围,
// 假如 n=33,那么这里就是1—32范围
sum=n%i; //求余数值
if(sum==0) //若余数=0的,话,执行 t 累加
t++; // 条件满足,循环累加 (任何数除于1,都成立,所以t必须至少=1的。)
} if (t>1){ //若t 累加 超过了1,证明不是质数,这是判断质数 合数的方法
System.out.println(" n的值为"+n+" n是和数");
} else{
/* t >1不成立的话,只有1次,就是质数,有人问,若是0呢?——这个问题问得好,告诉你不可能有0。*/
System.out.println(" n的值为"+n+" n是质数"); }}
}
---------------------Code End--------------------------运行结果: