Loading...
  所在位置:论坛首页 -> 计算机科学与技术 -> 程序设计 -> 关于c编程判断一个数是否为素数
回复

关于c编程判断一个数是否为素数

作者:pp 时间:2007-12-16 10:57:38 收藏 编辑

    在编程中判断一个素数主要是按照其定义判定,即除1与其本身外不能被任何数整除.

    在搜索中只要确定一个数能被整除即退出循环并返回false值,另外在小于根号下该数的范围内找不到能整除该数的,那么在根号下该数到该数之间的任何整数也不能整除该数,因为如果在第一个范围内找到可以整除该数的,那么另一个因数就分布在另一个范围内,因此可以避去一个区间而直接在一个区间搜索即可.

   以36为例,36开平方是6,也就是说能整除36的数分布在0-6和6-36之间。2*18,3*12,4*9,6*6,所以只需要判断一个区间就可以了。

程序如下:

#include<stdio.h>

#include<math.h>.

void main()

{

      int  m,i,k;

      scanf("%d",&m);

     k=sqrt(m);

     for(i=2;i<=k;i++)

            if(m%i==0)break;

       if(i>k)printf("%d is a prime number\n",m);

      else printf("%d is not a prime number\n",m);

}

高级回复

操作选项: 评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
  首页
Copyright 2006-2012 HistoryCreator.com Powered By: BBSGood 5
吉ICP备06005902号