Project Euler problem 12

2014年03月10日

Q

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.# ** What is the value of the first triangle number to have over five hundred divisors?

R

First Version

Nums <- numeric()
i <- 1
Nums[i] <- 1
k <- 2
while(k<250)
{
  Nums[i+1] <- Nums[i] +i+1
  k <- sum(Nums[i+1] %% (2:ceiling(sqrt(Nums[i+1])))==0)
  i <- i+1
}
print(Nums[i-1]+i)

#[1] 76576500