Code archives/Algorithms/Prime Finder
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
The program first asks which number to start calculating to see if it is prime. It then continues with the next consecutive number. (It does this until you press the esc. key.) I don't suggest putting in a number that's over 5000. Have Fun! | |||||
;Prime Finder ;Created by: Bubble Boy Graphics 800,600,16,2 SetBuffer BackBuffer() AppTitle "Prime Finder" number#=1 divisor#=1 quotient#=0 rounded=0 prime=0 go=0 Color 250,250,86 Print "PRIME FINDER" number#=Input$("What number do you want me to start with? ") While Not KeyHit(1) Color 250,250,86 Print number# Flip While go = 0 quotient# = number# / divisor# rounded=Int( quotient# ) Color 50,255,50 Print quotient# + " = " + number# + " / " + divisor# If divisor# > 1 If quotient# = rounded prime = 0 go = 1 Else prime = 1 End If End If Delay 20 If KeyDown(1) End End If If divisor# = number# prime = 1 go = 1 End If If number# = 1 prime = 0 go = 1 End If divisor# = divisor# + 1 Wend If prime = 1 Color 250,250,86 Print number# Color 255,50,50 Print "PRIME" Flip() Else If prime = 0 Color 250,250,86 Print number# Color 50,50,255 Print "NOT PRIME" Flip() End If Print " " Delay 2000 go=0 prime=0 number#=number# + 1 divisor#=1 quotient#=0 Wend End |
Comments
| ||
;Prime Finder ;Created by: Bubble Boy ;edited by: erbbysam SetBuffer BackBuffer() AppTitle "Prime Finder" fileout = WriteFile("primes.txt") number#=1 divisor#=1 quotient#=0 rounded=0 prime=0 go=0 Color 250,250,86 Print "PRIME FINDER" number#=0 While Not KeyHit(1) While go = 0 quotient# = number# / divisor# rounded=Int( quotient# ) If divisor# > 1 If quotient# = rounded prime = 0 go = 1 Else prime = 1 End If End If If divisor# = number# prime = 1 go = 1 End If If number# = 1 prime = 0 go = 1 End If divisor# = divisor# + 1 Wend If prime = 1 WriteLine( fileout, number# ) End If go=0 prime=0 number#=number# + 1 divisor#=1 quotient#=0 Wend CloseFile( fileout ) End this uses the code above to output every prime number that it can find starting at 0 to a file. After about a minute it will find the first 10,000 primes (or every prime between 2 and 100000 :D) |
| ||
Zzzz I've had MUCH better code for finding prime numbers for years. I can calculate the first ten million prime numbers in half an hour using my code. Tip #1: A number is prime if it is not divisible by a prime number less than or equal to it's square root. Tip #2: If number Mod divisor=0 then prime=False I will now post my code to the archives. Calculating Primes And here is code that trumps mine FAST Sieve of Eratosthenes |
Code Archives Forum