标题:判断素数,有一处不是很明白
只看楼主
abc594986308
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:116
注 册:2013-3-18
结帖率:82.93%
已结贴  问题点数:10 回复次数:2 
判断素数,有一处不是很明白
#include <stdio.h>
    #include <math.h>

    #define YES 1
    #define NO 0

    int isprime(int num)
    {
        int i, j;

        if (num == 2)
            return YES;
        else if (num < 2 || num % 2 == 0)
            return NO;
        else
        {
            j = (int)sqrt(num + 1);
            for (i = 3; i <= j; i = i + 2)/*这句。。。如果我输入的数据是4.求个解释,这个程序的步骤怎么运行。*/
                if (num % i == 0)
                    return NO;
        }

        return YES;
    }

    int main(int argc, char *argv[])
    {
        int N;
        scanf("%d", &N);

        if (isprime(N) == YES)
            printf("yes\n");
        else
            printf("no\n");

        return 0;
    }
搜索更多相关主题的帖子: include return 
2013-10-03 12:39
dyh839911010
Rank: 2
来 自:武汉
等 级:论坛游民
帖 子:63
专家分:71
注 册:2011-9-14
得分:5 
输入4时,j = (int)sqrt(num + 1)=2,for循环不执行。

把简单做到纯粹,自然有生活的成就。
游戏开发吧诚邀各位的驻足!
2013-10-03 13:17
未名湖的云
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:130
专家分:190
注 册:2012-10-11
得分:5 
回复 楼主 abc594986308
num等于4,不就是进第二个else if么?
2013-10-03 14:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-421399-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.192238 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved