Flash Flash Revolution: Community Forums

Flash Flash Revolution: Community Forums (http://www.flashflashrevolution.com/vbz/index.php)
-   Technology (http://www.flashflashrevolution.com/vbz/forumdisplay.php?f=74)
-   -   The Project Euler thread (http://www.flashflashrevolution.com/vbz/showthread.php?t=120818)

Reincarnate 11-24-2012 11:45 PM

Re: The Project Euler thread
 
fuck

infinity. 11-25-2012 12:53 AM

Re: The Project Euler thread
 
74432925402977_edc6e913519320b2bbdef524348d21cc

kaiten123 12-10-2012 07:48 PM

Re: The Project Euler thread
 
started this a little while ago (i think registered years ago lol, but never solved anything til just recently), a few days of work and i'm at lvl 2.
probably wont solve much for a couple weeks because finals but some of these are pretty interesting.

axith 12-10-2012 09:35 PM

Re: The Project Euler thread
 
Just stumbled across this thread. I have 38 problems solved. I learned a bit of python for these problems. My problem is that I can often see an easy, brute force solution, but I don't have the math knowhow to get stuff solved in less than a few weeks (or at least such math isn't that intuitive to me). I think it's time to revisit these torturous problems.

Reincarnate 12-10-2012 09:46 PM

Re: The Project Euler thread
 
Practice makes perfect -- the more you solve, the more you'll learn

axith 12-13-2012 01:21 PM

Re: The Project Euler thread
 
for all it's worth, here's my friend key: 83532459359302_e704d4c6b1d37a7739410f38da156b2a

axith 12-18-2012 10:31 PM

Re: The Project Euler thread
 
So which keywords make python read from a text file? My eyes are buggy from looking though online reference stuff and there's several problems that require it..

emerald000 12-18-2012 11:00 PM

Re: The Project Euler thread
 
You will want to use:

Code:

file = open('/path/to/file')

file.read()      # Returns whole file.
file.readline()  # Will return line by line.
file.readlines()  # Returns a list of every line.

file.close()      # Close the file after you have read everything you need.


kaiten123 12-21-2012 09:13 PM

Re: The Project Euler thread
 
just did 96 which was cool since i never really used recursion in a way that was non-trivial before
no idea how you guys do some of the higher numbered ones, highest one i did was 243, which for some reason is many times easier than everything around it, didnt even write any code.

edit: got to lvl 3 :)

kaiten123 12-28-2012 11:24 PM

Re: The Project Euler thread
 
brute forced 407 lol
never saw that box at the bottom right before, is that new? or does it pop up when you solve something recent?

leonid 12-30-2012 01:11 AM

Re: The Project Euler thread
 
i should get back to solve rest of the problems

Arkuski 01-4-2013 03:36 PM

Re: The Project Euler thread
 
This is pretty awesome I'm giving some of these a go

Reincarnate 01-22-2013 08:52 PM

Re: The Project Euler thread
 
411 wasn't too bad -- pretty much an exercise in programming

Reincarnate 02-17-2013 12:40 PM

Re: The Project Euler thread
 
415... only 3 solvers after 7 and a half hours.

Yeah I can pretty much kiss my 100% goodbye

It's been fun, PE :(

MracY 02-21-2013 05:25 PM

Re: The Project Euler thread
 
Quote:

Originally Posted by Reincarnate (Post 3733717)
2 mod 3 is 2

(x mod y is the remainder of x / y)

PS use Python instead, it's cooler



sumTotal = 0
num = 1
while num < 1000:
if (num % 3 == 0) or (num % 5 == 0):
sumTotal = sumTotal + num
num = num + 1
print sumTotal


Damn thing doesn't save formatting but w/e

Just as a note to people who want to join Project Euler: this solution is not necessarily representative of what you will be doing.

Here are some of my crude notes for problem 1, that used logic in stead of programming:





vertical axis is m
horizontal axis is n


Sum of the series of 5 is 0.5nm+0.5m
Sum of the series of 3 is 0.5pq+0.5q

1000/5 = 200.
The last value here is 1000, so n = 199
m = 1000-5 = 995

1000/3 = 333 with 1 remainder, so p = 333
q = 1000-1 = 999

Sum5 = 0.5*199*995+0.5*995
= 99500

Sum3 = 0.5*333*999+0.5*999
= 167166

99500+166833=266333



There is overlap between the sums of multiples of 15.
1000/15 is 66 with 10 remainder, so x = 66
y = 1000-10 = 990

Sum of this series is 0.5xy+0.5y
= 0.5*66*990+0.5*990 = 33165

So the answer is: 99500+166833-33165 = 233168

leonid 02-22-2013 11:21 PM

Re: The Project Euler thread
 
@Reincarnate use code tag

Code:

while 1:
  print "INDENT"
  if "INDENT":
    print "MORE INDENT"
print "NEVER REACHES HERE"


reuben_tate 02-22-2013 11:32 PM

Re: The Project Euler thread
 
Maybe ill try to play around and do some more problems this weekend :) (I haven't touched PE in awhile) . gotta start on my take-home test and other school stuff first though xP

reuben_tate 02-26-2013 12:55 PM

Re: The Project Euler thread
 
Started doing this in my free time again :3 Just got problem 34 this morning. Problem and code below; any tips that can make me a better programmer or mathematician is greatly appreciated :P

problem:

145 is a curious number, as 1! + 4! + 5! = 1 + 24 + 120 = 145.

Find the sum of all numbers which are equal to the sum of the factorial of their digits.

Note: as 1! = 1 and 2! = 2 are not sums they are not included.


solution: (in Java)

Code:

//this will be our final answer
                int probSum = 0;
               
                //at some point, the sum of the factorials of the digits won't be large enough to add up to the number
                //so choose our digits to be 9 and find when we have too many digits
                //our upper bound for curious numbers becomes k
                int i = 1;
                int nFact = factorial(9);
                int k = 9;
                while(i*nFact > k)
                {
                                k += 9*Math.pow(10, i);
                                i++;
                }
               
                for(int j=10; j <=k ; j++)
                {
                        String[] digits = (j+"").split("");
                       
                        int sum = 0;
                        for(int l = 1; l < digits.length; l++)
                        {
                                sum += factorial(Integer.parseInt(digits[l]));
                        }
                       
                        if(j==sum)
                        {
                                probSum += j;
                        }
                }
               
                System.out.println(probSum);




EDIT: cool, got another :3


Problem:

Using names.txt (right click and 'Save Link/Target As...'), a 46K text file containing over five-thousand first names, begin by sorting it into alphabetical order. Then working out the alphabetical value for each name, multiply this value by its alphabetical position in the list to obtain a name score.

For example, when the list is sorted into alphabetical order, COLIN, which is worth 3 + 15 + 12 + 9 + 14 = 53, is the 938th name in the list. So, COLIN would obtain a score of 938 53 = 49714.

What is the total of all the name scores in the file?


Solution:

Code:

int totalScore = 0;
               
                File file = new File("names.txt");
                Scanner scan = null;
                try
                {
                        scan = new Scanner(file);
                }
                catch (FileNotFoundException e) {}
                String nameString = scan.next();
                String[] names = nameString.split("\",\"");
                ArrayList<String> names2 = new ArrayList<String>();
                for(int i = 0; i < names.length; i++)
                {
                        names2.add(names[i]);
                }
               
                Collections.sort(names2);
                for(int i = 0; i < names2.size(); i++)
                {
                        char[] chars = names2.get(i).toCharArray();
                        int charSum = 0;
                        for(int j = 0; j < chars.length; j++)
                        {
                                charSum += chars[j] - 'A' + 1;
                        }
                        totalScore += charSum*(i+1);
                }
                System.out.println(totalScore);


Arkuski 03-1-2013 10:44 AM

Re: The Project Euler thread
 
Learned some jython, and these are all much easier

Choofers 07-15-2013 03:30 PM

Re: The Project Euler thread
 
I'm currently on my lunch break, so I decided that instead of studying for my ethernet and osi model exam tomorrow, I'd delve into powershell.

Had a bit of an issue getting custom scripts to work without having digital signatures, but oh well.


Code:

$count = 0
$total = 0
do{if (($count % 3 -eq 0) -or ($count % 5 -eq 0))
  {
  $total = $total + $count
  }
  else
  {
  $total = $total
  }
$count++
}
while ($count -lt 1000)
echo $total



this feels very reminiscent of java and maybe you DuDeZ will stop hating me because I'm not using BASIC

maybe ???


edit: problem two solved, I was originally incrementing my variables one number at a time but I quickly realized that this would need a variable for every number in the sequence lol


Code:

$f0 = 0
$f1 = 1
$fsum = 0
do{
  if ($f1 % 2 -eq 0)
  {
    $fsum = $fsum + $f1
  }
  if ($f0 % 2 -eq 0)
  {
    $fsum = $fsum + $f0
  }
  $f0 = $f0 + $f1
  $f1 = $f1 + $f0
  }
while ($f0 -lt 4000000)
echo $fsum



All times are GMT -5. The time now is 11:55 AM.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Copyright FlashFlashRevolution