//*******************************************************************************************************
//求第1500个只有2,3,5因子的数,数是从小到大排列,第一个数是1,1=2^0*3^0*5^0
//编写者:易志铖
//日 期:2011-04-25
//*******************************************************************************************************
#include<iostream>
using namespace std;
int main()
{
long a[1500];//用来装1500个只有2,3,5因子的数,
a[0]=1;//第一个数为1
int p2=0,p3=0,p5=0,n=0;//下标用来标记p2,p3,p5,n的位置
long min=0;//最小值
while(n<1499)//循环1499次
{
//比较2*a[p2],3*a[p3],5*a[p5]的值得大小将最小值给min
min=2*a[p2];//将a[p2]的值赋给min
if(min>3*a[p3])min=3*a[p3];
if(min>5*a[p5])min=5*a[p5];
//将最小值放入数组中,并将下标向后移动
if(min==2*a[p2])
{
a[n+1]=min;
p2++;
}
if(min==3*a[p3])
{
a[n+1]=min;
p3++;
}
if(min==5*a[p5])
{
a[n+1]=min;
p5++;
}
n++;
}
//输出数组中的所有的数
for(int i=0;i<1500;i++)
{
cout<<"第"<<i+1<<"个数是:"<<a[i]<<endl;
}
return 0;
}