FloSG Posted May 31, 2010 Share Posted May 31, 2010 Hi, I'm a newcomer in AutoIt. I tried to make a programme that recognizes prime numbers. The program works great, except of large numbers. What is wrong in the programme? Are there restrictions with large numbers, these I don't know? Here is my code: $number = InputBox("Prime number", "Please enter a number: ") for $i = 2 to $number-1 if Mod($number, $i) = 0 then MsgBox(0, "Prime", "The number " & $number & " isn't a prime number, because it's divisible by " & $i) Exit EndIf next MsgBox(0, "Prime number", "The number " & $number & " is a prime number!") Thanks rgds FloSG Link to comment Share on other sites More sharing options...
water Posted May 31, 2010 Share Posted May 31, 2010 (edited) The program works great, except of large numbers.I suspect it's because of the way AutoIt handles large numbers. These are the current limitations:Number range (floating point): 1.7E–308 to 1.7E+308 with 15-digit precisionNumber range (integers): 64-bit signed integerBTW: There is a Prime UDF (User Defined Functions) here. Edited May 31, 2010 by water My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
FloSG Posted May 31, 2010 Author Share Posted May 31, 2010 I suspect it's because of the way AutoIt handles large numbers. These are the current limitations:Number range (floating point): 1.7E–308 to 1.7E+308 with 15-digit precisionNumber range (integers): 64-bit signed integerBTW: There is a Prime UDF (User Defined Functions) here.Thanks Link to comment Share on other sites More sharing options...
jchd Posted May 31, 2010 Share Posted May 31, 2010 (edited) Also, you really should make your trial division loop a little more clever. But even then, your algorithm is a bit naive (even for numbers that number theorists would call small). If you run it on, for instance, the smallest prime larger than 2^53, you set yourself up for a 9007199254740997 loop. Don't hold your breath! Have a look a the prime UDF. Edit: I've no idea what that junk was... O yes I now see: it was a mistake trying to copy/paste the result from a Mathematica notebook, where I selected "copy" instead of "copy as text". It silently pasted garbage here. Sorry for pooping here! Edited May 31, 2010 by jchd This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted May 31, 2010 Share Posted May 31, 2010 file:///C:/tmp/moz-screenshot-2.pngfile:///C:/tmp/moz-screenshot-1.pngfile:///C:/tmp/moz-screenshot.pngSomething went wrong there .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now