im writin this code to generate the powers of 2 n 3 ie (2^i)*(3^j) with i and j from 0 to 64 and since im using NTL i dont have to worry bout system storage constraints. here's my code: Code: #include<NTL/ZZ.h> #include<NTL/vec_ZZ.h> NTL_CLIENT #define SIZE_OF_INTEGER 64 vec_ZZ sort_a(vec_ZZ a, long l) { ZZ temp; for(long i=0;i<l;i++) { for(long j=i;j<l-i-1;j++) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } return a; } main() { ZZ c,n,d; vec_ZZ a,b; a.SetLength(power_long(SIZE_OF_INTEGER,2)); ZZ v; v=power_long(2,SIZE_OF_INTEGER); long x=0; for(long i=0;i<SIZE_OF_INTEGER;i++) { for(long j=0;j<SIZE_OF_INTEGER;j++) { d=(power_long(2,i)*power_long(3,j)); if(d<v) { a[x]=d; cout<<a[x]<<endl; x++; } else break; } } sort_a(a,a.length()); cout<<endl<<x<<endl; for(long k=0;k<a.length();k++) cout<<a[k]<<endl; } its not workin properly..please help! thanks for reading!!

How exactly isn't it working properly? What does it do that you don't expect, or what does it not do that you expected it would?

i want it to print the powers of 2 and 3 ie (2^i)*(3^j) with i and j from 0 to 64 ie the output shud be 1,2,3,4,6,8,9,12,15,16,18..... but i dont get that output; wat i get is something else, i get some big negative number (1 followed by 31 zeores in binary form) 64 times and then alot of zeroes instead of what i've mentioned above..