Therightoforange
2015-06-24 05:07
采纳率: 59.1%
浏览 3.9k
已采纳

求1到100的素数的C语代码 有多少种写多少种

求1到100的素数的C语言循环代码有多少种写多少种
求1到100的素数的C语言循环代码有多少种写多少种

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • threenewbee 2015-06-24 14:38
    已采纳
     # include <stdio.h>
    # include <math.h> 
    int main() 
    { int i, j, c; c = 0; for (i = 100; i <= 200; i++)
    { c = 0; for (j = 2; j < sqrt(i); j++) { if (i%j == 0) c = 1; break; } 
    if (c == 0)printf("%d是素数", i); } getchar(); return 0; 
    }
    

    每次循环前要先将c置0

    运行结果
    101是素数103是素数105是素数107是素数109是素数111是素数113是素数115是素数117是素数119是素数121是素数123是素数125是素数127是素数129是素数131是素数133是素数135是素数137是素数139是素数141是素数143是素数145是素数147是素数149是素数151是素数153是素数155是素数157是素数159是素数161是素数163是素数165是素数167是素数169是素数171是素数173是素数175是素数177是素数179是素数181是素数183是素数185是素数187是素数189是素数191是素数193是素数195是素数197是素数199是素数

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • danielinbiti 2015-06-24 05:14

    http://blog.csdn.net/liukehua123/article/details/5482854
    建议你自己读一遍基础的内容吧。

    评论
    解决 无用
    打赏 举报
  • Therightoforange 2015-06-24 06:32

    #include
    int main()
    {
    int i;
    int j;
    int c = 0;
    for (j = 1; j < 100; j++)
    {
    c = 0;
    for (i = 2; i < j; i++)
    {
    if (j%i == 0)
    {
    c = 1;
    break;
    }
    }
    if (c = 0)
    {
    printf("%d is su shu\n", j);
    }
    }
    return 0;
    }

    评论
    解决 无用
    打赏 举报
  • threenewbee 2015-06-24 06:36

    if (c = 0)
    c == 0
    之前好像纠正你了,又错了。

    评论
    解决 无用
    打赏 举报
  • threenewbee 2015-06-24 06:39

    另外,1不是素数。
    程序有些地方可以优化,比如
    for (i = 2; i < j; i++)
    这里循环到j<j/2就够了

    另外,还可以用一个数组记录已经找到的素数。
    不需要每个都判断,只要判断这个素数表中的素数就可以了。因为不能被素数整除,必然不能被它们的积整除。

    除了穷举,还有筛选法也可以求素数,具体google

    评论
    解决 无用
    打赏 举报
  • threenewbee 2015-06-24 06:40

    写程序相当于写作文,不是死记硬背多少种,而是掌握算法和原理,运用自如。一个程序你会写了你可以写出无数的写法。当然,你应该选择简单、高效、易读的方式去写。

    评论
    解决 无用
    打赏 举报
  • Therightoforange 2015-06-24 13:30

    include

    include

    int main()
    {
    int i, j, c;
    c = 0;
    for (i = 100; i <= 200; i++)
    {
    for (j = 2; j < sqrt(i); j++)
    {
    if (i%j == 0)

                    c = 1;
                break;
            }
            if (c == 0)printf("%d是素数", i);
        }
    getchar();
    return 0;
    

    }

    评论
    解决 无用
    打赏 举报
  • threenewbee 2015-06-24 14:38

    另外一个帖子问一个问题,记得及时采纳。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题