用c语言判断一个数是否为素数的几种方法。所用编程环境Microsoft Visual C++。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数,也叫质数。
工具/原料
While语句
1#includevoid main(){ int i,n; printf('请输入n:'); scanf('%d',&n); i=2; while(i
比较容易理解的思路
#includevoid main() { int n,r,i; scanf('%d',&n); for(i=2;i<=n-1;i++) { r=n%i; if(r==0) break; } if(i>=n) printf('yes\n'); else printf('no\n'); }输出结果如下图:END
初等数论法的思路
初等数论,一个整数不能整除他的平方数之内的整数就是素数。编程代码#include #include #define YES 1#define NO 0int IsPrime(int N){int i, j; if (N == 2) return YES; else if (N < 2 || N % 2 ==0) return NO; else { j = (int)sqrt(N + 1); for (i = 3; i <= j; i = i + 2) if (N % i == 0) return NO; } return YES;}void main(){ int N; printf('Please input a number: '); scanf('%d', &N); if (IsPrime(N) == YES) printf('%d is a prime number\n', N); else printf('%d is not a prime number\n', N);}输出结果如下图:END