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

2023-06-26,,

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){ //如果被整除就直接跳出循环(也就是他能被1和它本身以外的数整除(他不是素数),那么就不会满足下面的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】是素数!!!

C和Java判断一个数字是否为素数的相关教程结束。

《C和Java判断一个数字是否为素数.doc》

下载本文的Word格式文档,以方便收藏与打印。