POJ 1338

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<iomanip>
 4 #define MAXN 100000
 5 using namespace std;
 6 
 7 double a[MAXN];
 8 double x1 = 0;
 9 double x2 = 0;
10 double x3 = 0;
11 void give_list(int x,int y,int z);
12 double min(double a,double b,double c);
13 int main()
14 {
15     //freopen("acm.acm","r",stdin);
16     double x = 2;
17     double y = 3;
18     double z = 5;
19     give_list(x,y,z);
20     int num;
21     while(1)
22     {
23     cin>>num;
24     if(num == 0)
25         break;
26     cout<<setiosflags(ios::fixed)<<setprecision(0)<<a[num-1]<<endl;
27     }
28 }
29 
30 
31 
32 ///////////////////////////////////////////////////////
33 //由2,3,5,7的乘积组成的数列,由小到大!第一个数默认是1!
34 ///////////////////////////////////////////////////////
35 void give_list(int x,int y,int z)
36 {
37     a[0]=1;
38     int len;
39     double m;
40     len=1;
41     while(len <= MAXN)//核心的代码,产生器!
42     {
43           m=min(a[int(x1)]*x,a[int(x2)]*y,a[int(x3)]*z);
44           if(m==a[int(x1)]*x)x1++; 
45           if(m==a[int(x2)]*y)x2++;
46           if(m==a[int(x3)]*z)x3++;
47           a[len++]=m;
48     }     
49 }
50 
51 double min(double a,double b,double c)//四个数中最小的;
52 {
53     a=a<b?a:b;
54     a=a<c?a:c;
55     return a;
56 }

关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

技术网站地址: vmfor.com

原文地址:https://www.cnblogs.com/gavinsp/p/4563372.html