
THx OMega
Moderator: Board moderators
Code: Select all
#include <stdio.h>
#include <stdlib.h>
double K, A [1600];
double Min (double A, double B) { return A < B ? A : B; }
int main (void) {
/* freopen ("output.txt", "w", stdout); */
long I, J;
double M;
A [0] = 1;
printf ("The 1500'th ugly number is");
for (I = 0; I < 1500; I++) {
M = A [I];
K = 2000000000;
for (J = I; J >= 0 && 5*A [J] > M; J--) {
if (2*A [J] > M) K = Min (K, 2*A [J]);
if (3*A [J] > M) K = Min (K, 3*A [J]);
K = Min (K, 5*A [J]);
}
A [I+1] = K;
printf (" %.0f", A [I]);
}
printf (".\n");
exit (0);
}