| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1133 人关注过本帖
标题:高手帮忙看看 这段不理解 谢谢
只看楼主 加入收藏
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
结帖率:92.86%
收藏
已结贴  问题点数:5 回复次数:25 
高手帮忙看看 这段不理解 谢谢
#include <stdio.h>

int isprime(int n)
{
    int i, m;
    m=1;
    for(i=2;i<n;i++)
        if(!(n%i))
        {
            m=0;
            break;
        }
    return m;
}

void main()
{
    int j, k;
    printf("please input an integer number between 2 and 10000: ");
    scanf("%d", &k);
    printf("the prime factor(s) od %d is :", k);
    for(j=2;j<=k;j++)
        if((!(k%j))&&(isprime(j)))
            printf("\n%4d", j);
    getch();

}
我不太理解这段代码的意思   麻烦各位大神解释一下哈  谢谢
if((!(k%j))&&(isprime(j)))
搜索更多相关主题的帖子: between include please number return 
2015-09-16 10:28
外部三电铃
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:那一年
等 级:贵宾
威 望:57
帖 子:2013
专家分:7306
注 册:2007-12-17
收藏
得分:0 
不用客气,应该的

那一年,苍井空还是处女
2015-09-16 10:32
弓玉每
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2015-9-8
收藏
得分:1 
回复 楼主 露营地
表示如果k不能被j整除,而且j是一个素数的情况
2015-09-16 10:51
voiceshen
Rank: 2
等 级:论坛游民
帖 子:21
专家分:58
注 册:2015-9-8
收藏
得分:2 
回复 楼主 露营地
就是检查你输入的数是否为素数,
先做!k%j的目的是减少isprime的调用。
2015-09-16 11:25
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 4楼 voiceshen
!k%j就是说如果k%j=0的话  那么就是真的  就执行咯

不要不要的。。。
2015-09-16 12:08
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 2楼 外部三电铃
  

不要不要的。。。
2015-09-16 12:09
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:2 
以下是引用露营地在2015-9-16 10:28:23的发言:

#include <stdio.h>

int isprime(int n)
{
    int i, m;
    m=1;
    for(i=2;i<n;i++)
        if(!(n%i))
        {
            m=0;
            break;
        }
    return m;
}

void main()
{
    int j, k;
    printf("please input an integer number between 2 and 10000: ");
    scanf("%d", &k);
    printf("the prime factor(s) od %d is :", k);     //这句话说明程序功能是找素因数
    for(j=2;j<=k;j++)
        if((!(k%j))&&(isprime(j)))                 //那么这里 两个判断条件前面要求是k的因数后面是素数
            printf("\n%4d", j);
    getch();

}
我不太理解这段代码的意思   麻烦各位大神解释一下哈  谢谢
if((!(k%j))&&(isprime(j)))

剑栈风樯各苦辛,别时冰雪到时春
2015-09-16 12:20
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
提个建议,能够再写出各素因数的个数就更好了比如
12=2*2*3
2:2
3: 1

剑栈风樯各苦辛,别时冰雪到时春
2015-09-16 12:56
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 8楼 林月儿
恩恩  

不要不要的。。。
2015-09-16 14:56
露营地
Rank: 2
来 自:湛江
等 级:论坛游民
帖 子:150
专家分:23
注 册:2015-6-27
收藏
得分:0 
回复 7楼 林月儿
!k%j就是说如果k%j=0的话  那么就是真的  就执行咯

不要不要的。。。
2015-09-16 14:57
快速回复:高手帮忙看看 这段不理解 谢谢
数据加载中...
 
   



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

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