Triangle numbers problem....show within 4 seconds

Posted by Daredevil on Stack Overflow See other posts from Stack Overflow or by Daredevil
Published on 2009-08-14T21:05:53Z Indexed on 2010/03/29 17:33 UTC
Read the original article Hit count: 374

Filed under:
|
|

The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

Let us list the factors of the first seven triangle numbers:

 1: 1
 3: 1,3
 6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28

We can see that 28 is the first triangle number to have over five divisors.

Given an integer n, display the first triangle number having at least n divisors.

Sample Input: 5

Output 28

Input Constraints: 1<=n<=320

I was obviously able to do this question, but I used a naive algorithm:

  1. Get n.

  2. Find triangle numbers and check their number of factors using the mod operator.

But the challenge was to show the output within 4 seconds of input. On high inputs like 190 and above it took almost 15-16 seconds. Then I tried to put the triangle numbers and their number of factors in a 2d array first and then get the input from the user and search the array. But somehow I couldn't do it: I got a lot of processor faults. Please try doing it with this method and paste the code. Or if there are any better ways, please tell me.

© Stack Overflow or respective owner

Related posts about challenge

Related posts about competition