赞
踩
素数定义:质数又称素数。指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数,1和0既非素数也非合数。素数在数论中有着很重要的作用。
**
**
#include<stdio.h> #include<math.h> //方法一:从1-n挨个判断; bool isPrimel_1(int n) { for(int i=2;i<n;i++) if(n%i==0) return false; return true; } //方法二: 将被判断数n,进行开方作为判断结束的条件, //因为开方后的数,是n的最大因子,最大因子之后的数对判断该数是否是素数没有意义。 bool isPrimel_2(int n) { for(int i=2;i<sqrt(n);i++) if(n%i==0) return false; return true; } //方法三: 只需要判断到该数的一半即可,如果超过它本身的一半, //进行求余的结果将永远不会为0,除非是该数对该数的求余。 bool isPrimel_3(int n) { int i; if(n%2==0) return 0; for(i=3;i=n/2;i+=2){ if(n%i==0) return 0; return 1; } } //方法四:从3-n,只判断奇数,先对一个数进行奇偶判断,若是奇数, //只对从3到它本身的奇数进行求余计算,同理若是偶数,一定不是素数。 bool isPrimel_4(int n) { int i,j=1; if(n%2==0) return 0; else{ for(i=3;i<=n;i=i+2){ if(n%i==0) j=i; break; } } if(j==n) return 0; return 1; } int main() { int n; printf("请输入一个数:"); scanf("%d",&n); printf("%d,%d,%d,%d\n",isPrimel_1(n),isPrimel_2(n),isPrimel_3(n),isPrimel_4(n)); return 0; }
假如李白会编程,数学文理齐全通;若非时代被拘禁,必定偏科不严重。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。