From b46fa7960786f48900ad3a1991a180819fddbb55 Mon Sep 17 00:00:00 2001 From: Mattrixwv Date: Fri, 30 Oct 2020 16:19:30 -0400 Subject: [PATCH] Changed script to function --- Problem2.m | 59 +++++++++++++++++++++++++----------------------------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/Problem2.m b/Problem2.m index 34f5dce..65e35b1 100644 --- a/Problem2.m +++ b/Problem2.m @@ -1,10 +1,11 @@ +function [] = Problem2() %ProjectEuler/Octave/Problem2.m %Matthew Ellison -% Created: -%Modified: 03-28-19 +% Created: 03-28-19 +%Modified: 10-28-20 %The sum of the even Fibonacci numbers less than 4,000,000 %{ - Copyright (C) 2019 Matthew Ellison + Copyright (C) 2020 Matthew Ellison This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -21,42 +22,36 @@ %} -%Setup your Variables -fib = [1, 1, 2]; %Holds the Fibonacci numbers -currentFib = fib(end) + fib(end - 1); %The current Fibonacci number to be tested -evenFib = [2]; %A subset of the even Fibonacci numbers + %Setup your Variables + fib = [1, 1, 2]; %Holds the Fibonacci numbers + currentFib = fib(end) + fib(end - 1); %The current Fibonacci number to be tested + evenFib = [2]; %A subset of the even Fibonacci numbers -%Start the timer -startTime = clock(); + %Start the timer + startTime = clock(); -while(currentFib < 4000000) - %Add the number to the list - fib(end + 1) = currentFib; - %If the number is even add it to the even list as well - if(mod(currentFib, 2) == 0) - evenFib(end + 1) = currentFib; + while(currentFib < 4000000) + %Add the number to the list + fib(end + 1) = currentFib; + %If the number is even add it to the even list as well + if(mod(currentFib, 2) == 0) + evenFib(end + 1) = currentFib; + end + + %Set the next Fibonacci + currentFib = fib(end) + fib(end - 1); end - %Set the next Fibonacci - currentFib = fib(end) + fib(end - 1); + %Stop the timer + endTime = clock(); + + %Print the results + printf("The sum of all even Fibonacci numbers less than 4000000 is %d\n", sum(evenFib)) + printf("It took %f seconds to run this algorithm\n", etime(endTime, startTime)) end -%Stop the timer -endTime = clock(); - -%Print the results -printf("The sum of all even Fibonacci numbers less than 4000000 is %d\n", sum(evenFib)) -printf("It took %f seconds to run this algorithm\n", etime(endTime, startTime)) - -%Cleanup your variables -clear fib; -clear currentFib; -clear evenFib; -clear startTime; -clear endTime; - %{ Results: The sum of all even Fibonacci numbers less than 4000000 is 4613732 -It took 0.001076 seconds to run this algorithm +It took 0.000694 seconds to run this algorithm %}