100以内的素数和(C语言判断一个数为素数程序设计)

//小于或等于1的整数均不为素数預先排除 //sqrt(x)为开平方函数,其返回结果为浮点数通过类型强转获得小于该浮点数的最大整数 //通过取余函数,若除得余数为0说明x可被i整除,x不为素数

求100以内的所有素数

若一个正整数x不为素数则它必定可以由两个或两个以上的素数的乘积表示,并且这几个素数中必定有一个素数小于或等于sqrt(x)即x必定可以被2~sqrt(x)中的一个素数整除。设一个数组int a[101];使a[2]=2,a[3]=3.....,a[100]=100排除此数组中所有可以被2~sqrt(100)中的素数整除的数(素数本身除外),则剩下的元素数则均为素数那么如何求2~sqrt(100)中的素数呢,很简单不用求,首先从最小的素数2开始将3~100中可以被2整除的数组元素置为0,嘫后往下循环下一个不为0的数组元素必定为素数,一直循环至下一个不为0的数组元素大于sqrt(100)时数组中可以被2~sqrt(100)中的素数整除的数均被置为0叻,则数组中剩下不为0的数均为素数

//当a[i]不为0时必定为素数 //将a[i]之后所有不为0的数除以a[i]求余,若可整除则不为素数,置为0
  1. 循环除以2到它本身减1
  2. 判断是否除嘚尽如果除的尽 就不是素数
  3. 如果循环完成以后没有除得尽的 那么它就是素数
//循环除以2到它本身减1 //除的尽 就不是素数 //不是素数 所以跳出循環 节省计算量 //循环完成以后没有除得尽的 是素数

我要回帖

更多关于 c语言判断一个数为素数 的文章

 

随机推荐