C和Java判断一个数字是否为素数

版权声明:编写不易,可看不可转,请知悉! https://blog.csdn.net/zha6476003/article/details/85057331

C:

/*
素数:
素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。
*/ 
# include <stdio.h>

bool PrimeNumber(int val); 
int main(){
	int arr[] = {1,2,3,4,5}; 
	int i,num;
	
	num = sizeof(arr) / sizeof(arr[0]); //获取数组长度
	for (i=0;i<num;i++){
		if (PrimeNumber(arr[i])){ //true or false
			printf("%d是素数\n",arr[i]);
		}else{ //如果为false
			printf("%d不是素数\n",arr[i]);
		}
	}
	
	return 0;
}

bool PrimeNumber(int val){
	int i; 
	
	for (i=2;i<val;i++){ //一直判断是否能被val之前前的数整除(不包含1),如一直不能被整除(每次加1)就会一直循环到i的值等于val 
		if (val%i == 0){ //如果被整除就直接跳出循环(那么就不会满足下面的i等val),如果一直不能被整除i就一直加1直至循环结束 
			break;
		}
	}
	//返回最终判断结果 
	if (i == val){
		return true;
	}else{
		return false;
	}
}
Dev-c++中执行结果:
    1不是素数
    2是素数
    3是素数
    4不是素数
    5是素数

Java:

package java_demo;

public class test {
	public static void main(String[] args) {
		int arr[] = {1,2,3,4,5};
		
		for (int i=0;i<arr.length;i++) {
			if (PrimeNumber(arr[i])) {
				System.out.println("【" + arr[i] +"】" + "是素数!!!");
			}else {
				System.out.println("【" + arr[i] +"】" + "不是素数!!!");
			}
		}
	}
	
	public static boolean PrimeNumber(int val) {
		/**
		* 接收一个参数val
		* return true or false
		*/
		
		int j; //如不声明在for循环之外后面不能获取j的值
		boolean bool = false;
		
		for (j=2;j<val;j++) {
			if (val%j == 0) {
				break;
			}
		}
		if (j == val) {
			bool = true;
		}else {
			bool = false;
		}
		
		return bool;  //一切皆对象
	}

}
eclipse中执行结果:
	【1】不是素数!!!
	【2】是素数!!!
	【3】是素数!!!
	【4】不是素数!!!
	【5】是素数!!!

猜你喜欢

转载自blog.csdn.net/zha6476003/article/details/85057331