首页 > 其他 > 详细

Ugly Numbers

时间:2017-07-22 16:15:56      阅读:275      评论:0      收藏:0      [点我收藏+]

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=72

题意:

求以2,3,5为唯一因子的第1500个数字(丑数)

 

AC代码

#include<iostream>
using namespace std;
int minu(int a,int b,int c)
{
    int temp;
    temp=a>b?b:a;
    return temp>c?c:temp;
}
int main()
{
    int ugly[1505];
    ugly[0]=1;
    int ugly2=0,ugly3=0,ugly5=0;
    for (int i=1;i<1500;i++)
    {
        int mini=minu(ugly[ugly2]*2,ugly[ugly3]*3,ugly[ugly5]*5);
        if (mini==ugly[ugly2]*2)
            ugly2++;
        if (mini==ugly[ugly3]*3)     //不要写成else if,因为有可能最小值与两个值相等
            ugly3++;
        if (mini==ugly[ugly5]*5)     //同上
            ugly5++;
        ugly[i]=mini;
    }
    cout << "The 1500‘th ugly number is ";
    cout << ugly[1500-1] << "." << endl;
    return 0;
}

 

 

Ugly Numbers

原文:http://www.cnblogs.com/lisijie/p/7210060.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!