所谓素数是指除了1和它本身以外,不能被任何整数整除的数。例如17就是素数,因为它不恩那个被2~16的任一整数整除。因此判断一个整数nNum 是否素数。只需要把nNum 被2~nNum-1之间的每一个整数去除。如果都不恩那个被整除,那么nNum就是一个素数。
这里我们也可以用一个简单的办法只需被2~√m之间的每一个整数去除就可以了。
#include <stdio.h> #include <math.h> int isPrimeNum(int nNum); int main() { int nNum; int nFlag = 0; printf("输入一个数字,判断是否素数:\n"); scanf("%d", &nNum); if(nFlag = isPrimeNum(nNum)) printf("这是一个素数。\n"); else printf("这不是一个素数。\n"); return 0; } int isPrimeNum(int nNum) { int nFlag = 0; int nTmp; int i; nTmp=sqrt(nNum); for(i=2;i<=nTmp;i++) if(nNum%i==0) break; if(i>nTmp) return nFlag = 1; else retrun nFlag = 0; }
时间: 2024-11-06 21:32:21