| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5174 人关注过本帖
标题:求100到200间的素数
取消只看楼主 加入收藏
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
结帖率:90%
收藏
已结贴  问题点数:18 回复次数:5 
求100到200间的素数
#include<stdio.h>
#include<math.h>
main()
{
    int m,i,n=0,k;
    for(m=101;m<200;m=m+2)
    {
        k=sqrt(m);
        for(i=2;i<=k;i++)
            if (m%i==0)
            break;
            if(i>k)
            {
            printf("%d  ",m);
        n++;
            if(n%10==0)
        printf("\n");
            }
    }
    printf("个数:%d\n",n);
} break后面为什么是  if(i>k)
想一小时了 想不明白啊
搜索更多相关主题的帖子: 100 200 include 
2012-03-28 15:37
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
那i<k且m%i==0这个循环里 不为0的数呢 不输出吗 其实我对于为什么求一个素数 可以直接开平方根不懂 素数不就是这个数除以他之前的数 除了1 如果取余都不为零 那就是素数 加了个根号 我不明白了
2012-03-28 15:41
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
我现在知道为什么去平方根了 还是对那个break后面的  if(i>k)不明白 为什么呢  求好人回答我
2012-03-28 15:53
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
我自己想明白了 哼
2012-03-28 15:56
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
我怎么这笨 不过现在想明白了
2012-03-28 15:56
han8716
Rank: 1
等 级:新手上路
帖 子:76
专家分:3
注 册:2012-2-12
收藏
得分:0 
程序是一步一步执行的 如果在i<=k之前  m%i都不等于0的话  所以不执行break i就加一 再往下执行的时候 i就大于了k 所以也就是说i<=k之前都没有被整除  所以是素数了 函数是一步一步执行的 切忌 一步一步想 我自己来回答 是这样的吗  
2012-03-28 16:00
快速回复:求100到200间的素数
数据加载中...
 
   



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

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