hi friends i tried this logic to print the perfect numbers but there is no output at all pls can any one tell me wht's the mistake is?the code is as follows main() { int i,j,sum=0; for(i=1;i<=1000;i++) { for(j=1;j<i;j++) { if(i%j==0) sum=sum+j; } if(sum==i) printf("%d",i); } getch(); }

your logic is correct but you forget to reinitialize sum=0 here is the correct code.. Code: main() { int i,j,sum=0; for(i=1;i<=1000;i++) { for(j=1;j<i;j++) { if(i%j==0) sum=sum+j; } if(sum==i) printf("%d",i); sum=0; // insert this line in your code... } getch(); }