| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4501 人关注过本帖
标题:马上要期末考试了,求大神求解
只看楼主 加入收藏
格格不入fl
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:56
专家分:192
注 册:2016-3-23
收藏
得分:1 
写成==可以 >不行是因为那个for进不来就不会打印
2016-06-16 23:47
chenyundage
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-6-15
收藏
得分:0 
回复 9楼 zhulei1978
我知道自己哪里错了。。。。。不好意思你们说的都是对的。。。谢谢你啊
2016-06-17 08:33
chenyundage
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-6-15
收藏
得分:0 
回复 4楼 linlulu001
我知道自己哪里错了。。。。。不好意思你们说的都是对的。。。谢谢你啊
2016-06-17 08:34
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:1 
之所以说这里可以用==最关键的是因为if用的是break这句,如果不是用break,i必须大于n才能输出正确。
所以什么情况下用什么关键还是看你的代码。
2016-06-17 09:37
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:7 
回复 10楼 chenyundage
求一个某数段的素数(101到200之间)。。。。。。。。
#include<stdio.h>
int main()
{
       fun();
}
int fun()
{
        int n,m,i;
        for(n=101;n<=200;n++)
          {               
              for(i=2;i<=n;i++)    //从2开始到n本身,如果有哪个数能被n整除那就跳出循环
               if(n%i==0) break;
                      if(i>=n)//循环结束后判断一下他是什么时候跳出循环的,如果是i==n那就说明这个数是素数了。如果是,就做下面的输出
              {printf("%4d",n);
               m=m+1;}
          }
        printf("\n");
        return 0;
}
再讲一点关于素数的优化,比较常用的
1.所有偶数除了2都不是素数,所以就这道题而言,n每次应该都是+=2保持素数,而里面做i的循环也可以只对奇数进行整除判断
2.里面这个for(i..)循环的结束条件只要到了i<=sqrt(n)就行,至于为什么,很简单,如果存在一个大于n的平方根的自然数a和另一个自然数b相乘等于n,那么自然数b一定小于n的平方根,也就是说我们在遍历到n的平方根之前就该遍历到这个数了


φ(゜▽゜*)♪
2016-06-17 16:30
快速回复:马上要期末考试了,求大神求解
数据加载中...
 
   



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

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