zoukankan      html  css  js  c++  java
  • ACM题目1084: 用筛法求之N内的素数

    题目描述:
    用筛法求之N内的素数。
    输入:
    N
    输出:
    0~N的素数
    样例输入:
    100
    
    样例输出:
    2
    3
    5
    7
    11
    13
    17
    19
    23
    29
    31
    37
    41
    43
    47
    53
    59
    61
    67
    71
    73
    79
    83
    89
    97
    思路:
    题目不是很难,刚开始做的时候写的是遍历数字然后判断当前数字能否整除2,3,5,7
    但是这种方法很占用时间,时间复杂度太高了
    于是换用另外一种方法,同时有两个指针去遍历小于N的所有元素
    结果证明,可行。
    代码:
    #include <stdio.h>
    int main()
    {
    int i,j,n;//i,j为遍历的向量,n为输入的元素
    scanf("%d",&n);//取到n的值
    for(i=2;i<n;i++)
    {
    for(j=2;j<i;j++)
    {
    if(j%i==0)
    {
    break;
    }
    }
    if(j==i)
    printf("%d",i);
    }
    return 0;
    }
    

    反思:

    注意最后不能i=n,因为要求的小于n的所有素数,如果加上等于号,就会多算一个数字

     
  • 相关阅读:
    CSS属性之定位
    CSS选择器区别
    HTML属性及其相关区别
    HTML标签区别
    HTML其他概念
    CSS3新特性
    HTML5新标签
    HTML5新特性
    params修饰符的用法
    C#中引用参数ref和输出参数out
  • 原文地址:https://www.cnblogs.com/redzzy/p/13631522.html
Copyright © 2011-2022 走看看