zoukankan      html  css  js  c++  java
  • 2859 丑数统计

    2859 丑数统计

     

     时间限制: 1 s
     空间限制: 32000 KB
     题目等级 : 黄金 Gold
     
     
    题目描述 Description

    对于自然数n,求前n个素因子仅有2,3或5的数,并从小到大输出到文件中。如N=10,答案为:2 3 4 5 6 8 9 10 12 15

    输入描述 Input Description

    一个正整数n(n<10000)

    输出描述 Output Description

    n个满足条件的正整数,以空格分开。

    样例输入 Sample Input

    10

    样例输出 Sample Output

    2 3 4 5 6 8 9 10 12 15

    数据范围及提示 Data Size & Hint

    分类标签 Tags 点此展开 

     
    暂无标签

    题解:

    遍历法:

    1、如果一个数能够被2整除,那么让他继续除以2;
    2、如果一个数能够被3整除,那么让他继续除以3;
    3、如果一个数能够被5整除,那么让他继续除以5;
    4、如果最后这个数变为1,那么这个数就是丑数,否则不是。

    数据太水了。

    AC代码:

    #include<cstdio>
    using namespace std;
    int main(){
        int n,t=0;
        scanf("%d",&n);
        for(int i=2;;i++){
            if(t==n) break;
            int c=i;
            for(;!(c&1);c>>=1);
            for(;c%3==0;c/=3);
            for(;c%5==0;c/=5);
            if(c==1){
                printf("%d ",i);
                t++;
            }
        }
        return 0;
    }
  • 相关阅读:
    面向对象设计原则之接口隔离原则
    面向对象设计原则之开闭原则
    [OOD]违反里氏替换原则的解决方案
    错误程序
    error: ‘for’ loop initial declarations are only allowed in C99 mode
    函数模板
    查找
    队列类模板
    栈类模板
    单链表的结点类模板
  • 原文地址:https://www.cnblogs.com/shenben/p/5825044.html
Copyright © 2011-2022 走看看