UVa 136 Ugly Numbers

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

这题我的解法,逐个把2,3,5.三个元素逐一剔除,如果结果为1那这个数就为丑陋数。当然这种方法超时了

,在自家电脑运行了快一分钟才算出来。求大神,以下是超时版本

#include"stdio.h"
#include"conio.h"
int main()
{
int pea,banana,tomato=15,apple;
scanf("%d",&banana);
for(pea=11;pea<=banana;)
{
apple=tomato;
while(apple%2==0)
{
apple=apple/2;
}
while(apple%3==0)
{
apple=apple/3;
}
while(apple%5==0)
{
apple=apple/5;
}
if(apple==1)
{
pea++;
}
tomato++;
}
printf("%d",tomato-1);
getch();
}

原文地址:https://www.cnblogs.com/miaosu5limi/p/2932252.html