| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 659 人关注过本帖
标题:帮忙解说一下
只看楼主 加入收藏
wangyinshiwo
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-11-9
收藏
 问题点数:0 回复次数:4 
帮忙解说一下
/* Note:Your choice is C IDE */
#include "stdio.h"
int prime(a)
int a;
{
    int flag=1,n;
    for(n=2;n<=a/2&&flag==1;n++)
    if(a%n==0)
    flag=0;
    return flag;
}

main()
{
    int a;
    scanf("%d",&a);
    if(prime(a))
    printf("yes");
    else
    printf("no");
 }
我看不懂前面那个函数,请大家解说一下,谢谢了!
搜索更多相关主题的帖子: 解说 
2007-12-03 19:25
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
/* 一种古老的写法 int prime(a) int a;  {}  */
/* 夸张了点                   */


/* 等同于 */
int prime(int a)    /* 如果是质数程序返回 1 ,否则返回 0 */
{
    int flag = 1, n;
    for(n = 2; n <= a / 2; n++)
        if(a % n == 0)
        {
            flag = 0;
            break;
        }
    return flag;
}


    质数就是在所有比1大的整数中,除了1和它本身以外,不再有别的约数,这种整数叫做质数,质数又叫做素数。还可以说成质数有两个约数。

[[italic] 本帖最后由 cosdos 于 2007-12-3 19:35 编辑 [/italic]]

—>〉Sun〈<—
2007-12-03 19:33
wangyinshiwo
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-11-9
收藏
得分:0 
回复 2# 的帖子
我知道什么叫素数,但是我是看不明白,它从那里判断是素数了,假如a=2或a=3它是怎样循环的,或a=5的时候呢?

抽刀断水水更流,举杯消愁愁更愁。
2007-12-03 19:41
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
原帖由 [bold][underline]wangyinshiwo[/underline][/bold] 于 2007-12-3 19:41 发表 [url=http://bbs.][/url]
我知道什么叫素数,但是我是看不明白,它从那里判断是素数了,假如a=2或a=3它是怎样循环的,或a=5的时候呢?


a = 2 时 a / 2  == 1

a = 3 时 a / 2  == 1

a = 4 时 a / 2 == 2

—>〉Sun〈<—
2007-12-03 21:12
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:0 
一般判断是否素数的话,n从2遍历到sqrt(a)就可以了,不过需要包含math.h文件。
2007-12-03 21:17
快速回复:帮忙解说一下
数据加载中...
 
   



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

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