From 269723cbd4e970489638edcfb0813be98d2c9975 Mon Sep 17 00:00:00 2001 From: Mattrixwv Date: Wed, 26 Sep 2018 23:51:25 -0400 Subject: [PATCH] Added a second chance at Problem 12, more like my C++ code --- ProjectEuler/Problem12_2.m | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 ProjectEuler/Problem12_2.m diff --git a/ProjectEuler/Problem12_2.m b/ProjectEuler/Problem12_2.m new file mode 100644 index 0000000..0c75c2a --- /dev/null +++ b/ProjectEuler/Problem12_2.m @@ -0,0 +1,48 @@ +%ProjectEuler/Problem12.m +%This is a script to answer Problem 12 for Project Euler +%What is the value of the first triangle number to have over five hundred divisors? + +found = false; +numSum = 1; +counter = 2; +numDivisors = 0; +goalDivisors = 500; + +startTime = clock(); +while(~found) + %Count the number of divisors + numDivisors = 0; + divCounter = 0; + while((divCounter * divCounter) < numSum) + if(mod(numSum, divCounter) == 0) + numDivisors += 2; + end + end + + %Check if there are enough divisors + if(numDivisors > goalDivisors) + found = true; + else + numSum += counter; + ++counter; + end +end +endTime = clock(); + +%Print the result +number = numSum +highestNumber = counter - 1 +numDivisors = numDivisors +totalTime = etime(endTime - startTime) + +%Cleanup the variables +clear found; +clear numSum; +clear counter; +clear numDivisors; +clear goalDivisors; +clear startTime; +clear endTime; +clear totalTime; +clear numDivisors; +clear divCounter;