用C语言如何判断素数

 我来答
锝筹紬锛
2018-06-28 · TA获得超过1403个赞
知道小有建树答主
回答量:1942
采纳率:65%
帮助的人:366万
展开全部

基本判断思路

在一般领域,对正整数n,如果用2到  之间的所有整数去除,均无法整除,则n为质数。

质数大于等于2 不能被它本身和1以外的数整除

#include <stdio.h>
#include <windows.h>
int main()
{
    double x,y,i;
    int a,b;
    x = 3.0;
    do{
        i = 2.0;
        do{
            y = x / i;
            a = (int)y;
            if(y != a)//用于判断是否为整数
            {
                if(i == x - 1)
                {
                    b = (int)x;
                    printf("%d\n",b);
                }
            }
            i++;
        }while(y != a);
        x++;
    }while(x <= 10000.0);//3到10000的素数
    system("pause");//防止闪退
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-06-27
展开全部
随便在杜娘中,都能搜索到了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小华子丫
2018-06-27
知道答主
回答量:2
采纳率:0%
帮助的人:1649
展开全部
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
#include〈math.h〉 main(){ int m,k,i; for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2. { k=sqrt(m) //先求这个数的平方跟 for(i=2;i<=k;i++) //然后用i(从2到k,即m的平方跟)去除m, if(m%i==0) break; //如果能被整除, 则不是素数,break if(i>=k+1) pritnf("%d",m); //如果i>k+1,则说明没有数能整除m.则m是素数 } }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式