判斷一個數是否是素數的程序講解?
素數又稱質數。所謂素數是指除了1和它本身以外,不能被任何整數整除的數。
該代碼的基本思路為:如果m不能被2~它的平方根中的任一數整除,m必定是素數。
代碼解析如下:
main()
{
int m; // 輸入的整數
int i; // 循環次數
int k; // m 的平方根
scanf(%d,&m); //輸入m
k=sqrt(m); //對m開方賦給k
for(i=2;i<=k;i++) //從2到k依次加1循環
if(m%i==0)break;//當m可以整除i時,退出,不整除,說明是素數
if(i>=k+1)
printf(%d is a prime number\n,m);//i不小于k+1時,m是素數,否則,m不是素數
else
printf(%d is not a prime number\n,m);
}
擴展資料:
判斷素數的程序代碼的另一思路:判斷一個整數m是否是素數,只需把m被 2~m-1之間的每一個整數去除,如果都不能被整除,那么m就是一個素數。
代碼及解析如下:
#include <stdio.h>
int main(){
int a=0; // 素數的個數
int num=0; // 輸入的整數
printf("輸入一個整數:");
scanf("%d",&num);
for(int i=2;i<num;i++){
if(num%i==0){
a++; // 素數個數加1
}
}
if(a==0){
printf("%d是素數。\n", num);