Hint 1:
Click to view
How do you know whether a number i is a factor of another number n.
Hint 2:
Click to view
What is the range in which the factors of any number n lie? What is the smallest factor of n and what is the largest factor of n?
Hint 3:
Click to view
Observe that factors always occur in pairs. e.g. Consider the factors of 36. If you know that 1 is a factor of 36, you also know that 36 is a factor of 36 (you didn’t need to check it again). Similarly, if you know that 2 is a factor of 36, then so is 18.
Hint 4:
Click to view
Extending the idea of factors occurring in pairs. We can say that if i is a factor of n, then so is n/i.
Hint 5:
Click to view
When do factors start repeating? Till when do you need to check that if i is a factor of n.
Try to enlist factors of various numbers like 12, 24, 36, 40. And try to figure out a point where the factors start repeating.
Hint 6:
Click to view
Spoiler Alert: This provides the answer to the above hint.
We can see that factors start repeating when i = n / i \Rightarrow i^2 = n \Rightarrow i = \sqrt(n).
Hint 7:
Click to view
Now, you know the range in which you need to check whether i is a factor of n or not. Just sum over all factors and check whether the sum is equal to the original number n or not.
Hint 8:
[details=Click to view]
Try to print the sum of factors. Check whether it is correct for square numbers or not. Are you adding something extra.
[\hide]