#include
#include
#define MAX 20000
#define MAX_ITER 2000
long long int A[MAX];
int main()
{
int i,j,k;
long long int global_min,n;
A[0]=1;
A[1]=2;
A[2]=3;
A[3]=4;
A[4]=5;
i=5;
while(1)
{
global_min=1e17;
n=-1;
for(j=0 ; j {
for(k=0 ; k {
n=A[j]*A[k]; // USING PREVIOUS VALUES -- LESS EFFICIENT BUT ANOTHER APPROACH USING DP
if(n>A[i-1] && n global_min=n;
}
}
A[i]=global_min;
printf("%d : %lld\n",i++,global_min);
if((i-1)%100==0)
sleep(1); // sleep used for human to view output
}
return 0;
}
Read more: http://feeds.dzone.com/~r/dzone/snippets/~3/jgFYDQ4DaGE/12847