//use dynamic programming approach //it is O(n) time and O(1) space
#include<stdio.h> #define N 5 void main() { int a[N]={1,2,3,4,5},i; int prod1[N]; int p=1; for(i=0;i<N;++i) { prod1[i]=p; p*=a[i]; } int prod2[N]; p=1; for(i=N-1;i>=0;--i) { prod2[i]=p; p*=a[i]; } int products[N]; for(i=0;i<N;++i) { products[i]=prod1[i]*prod2[i]; printf("%d ",products[i]); } } -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.