判断一个数是否是丑数
丑数定义:只包含因子2、3、5的数,称之为“丑数”。一般地,1为第一个丑数,1,2,3,4,5,6,8,9,10,12,15,16,18是最前面的13个丑数。
判断一个数是否是丑数,实现代码如下:
bool isUgly(int num){
if(num<=0)
return false;
while(num%2==0) num/=2;
while(num%3==0) num/=3;
while(num%5==0) num/=5;
if(num==1){
return true;
}
else
return false;
}
给定一个正整数N,输出第N个丑数:
#include<iostream>
using namespace std;
bool isUgly(int num){
if(num<=0)
return false;
while(num%2==0) num/=2;
while(num%3==0) num/=3;
while(num%5==0) num/=5;
if(num==1){
return true;
}
else
return false;
}
int main(){
int N,k;
while(cin>>N){
k=0;
for(int i=1;i<10000;i++){
if(isUgly(i)){
++k;
if(k==N){
cout<<i<<endl;
break;
}
}
}
}
return 0;
}
还没有评论,来说两句吧...