一、暴力枚举法
以下是暴力枚举法的c语言代码
“`ctet){t i;;i++){%i==0){ 0;//非素数
}
} 1;//素数
二、优化算法
虽然暴力枚举法简单易懂,但是当待判断的数很大时,效率会非常低下。为了提高效率,大家可以使用一些优化算法。
1.试除法
以下是试除法的c语言代码
“`ctet){t i;<=1){ 0;//非素数
};i++){%i==0){ 0;//非素数
}
} 1;//素数
2.埃氏筛法
埃氏筛法的原理是从2开始,将每个素数的倍数都标记成合数,直到筛子无法再筛下去为止。具体实现时,大家可以使用一个布尔数组来记录每个数是否为素数,然后依次遍历每个数,如果它是素数,则将它的倍数都标记为合数。
以下是埃氏筛法的c语言代码
“`ce MX_N 1000000te[MX_N+1];t){t i,j;;i++){e[i]=1;//初始化为素数
}ee=0;//0和1不是素数;i++){e[i]){;j+=i){e[j]=0;//i的倍数都不是素数
}
}
}
本文介绍了c语言中判断素数的方法,包括暴力枚举法、试除法和埃氏筛法。虽然暴力枚举法简单易懂,但是效率较低。而试除法和埃氏筛法能够有效地提高效率,特别是在处理大数时更加明显。在实际应用中,大家可以根据具体的情况选择合适的算法来判断素数。