 
		 
			 
			
			
			Hoe gebruik je eigenlijk een non-standard library? Ik probeer deze nu te gebruiken, maar het lukt me niet eens om het te laden. Op google en in de manual kom ik alleen maar dingen tegen die ik niet snap of die ik niet wil.quote:Op woensdag 8 augustus 2012 22:56 schreef thabit het volgende:
Voor grote getallen zijn er libraries zoals MPIR.
 
			 
			
			
			Op wat voor systeem zit je? Als je op Linux zit, dan zit zulke software wel in software manager (zoek bijvoorbeeld op GMP, de The GNU Multiple Precision Arithmetic Library; verreweg de snelste). Dan wordt alles goed voor je geinstalleerd.quote:Op zaterdag 11 augustus 2012 20:58 schreef thenxero het volgende:
Hoe gebruik je eigenlijk een non-standard library? Ik probeer deze nu te gebruiken, maar het lukt me niet eens om het te laden. Op google en in de manual kom ik alleen maar dingen tegen die ik niet snap of die ik niet wil.
Ik heb nu de library gedownload... en dan twee keer iets uitgepakt. Nu heb ik dus een hele berg aan bestandjes, waarvan ik geen idee heb wat ik er precies mee moet doen.
 
											 
			 
			
			
			Ja, maar die instructies kan ik niet volgen. Het is net alsof je ergens commando's moet invoeren, zoals:quote:Op zaterdag 11 augustus 2012 21:33 schreef thabit het volgende:
Ga eerst op zoek naar een file genaamd README of INSTALL of iets dergelijks, en lees die.
| 1 2 3 | ./configure make make check | 
 
			 
			
			
			Leuk dit soort codetaal maar dit zegt me niksquote:Op zaterdag 11 augustus 2012 22:49 schreef t4rt4rus het volgende:
Aptitude install libgpm-dev
En succes
 
			 
			
			
			Laat me raden: je hebt Windows?quote:Op zaterdag 11 augustus 2012 23:15 schreef thenxero het volgende:
[..]
Ja, maar die instructies kan ik niet volgen. Het is net alsof je ergens commando's moet invoeren, zoals:
[ code verwijderd ]
Maar hoe en waar is me een raadsel.
 
			 
			
			
			 
			 
			
			
			Bijvoorbeeld met MinGW of Cygwin, allebei een port van GCC naar Windows.quote:Op zaterdag 11 augustus 2012 23:19 schreef thabit het volgende:
Maar in een andere post zei je dat je gcc had. Hoe doe je dat dan met Windows?
Misschien zeg ik iets heel doms nu, ik ben een absolute Windows-n00b.
 
			 
			
			
			GNU GCC is de compiler die ik standaard krijg in code::blocks. Ik heb daar niks speciaals voor gedaanquote:Op zaterdag 11 augustus 2012 23:19 schreef thabit het volgende:
Maar in een andere post zei je dat je gcc had. Hoe doe je dat dan met Windows?
Misschien zeg ik iets heel doms nu, ik ben een absolute Windows-n00b.
 
											 
			 
			
			
			MinGW ken ik niet, wel Cygwin. Cygwin heeft bij mijn weten geen 64-bits-ondersteuning. Heeft MinGW dat wel?quote:Op zaterdag 11 augustus 2012 23:22 schreef GS42 het volgende:
[..]
Bijvoorbeeld met MinGW of Cygwin, allebei een port van GCC naar Windows.
 
			 
			
			
			Volgens mij zijn er experimentele ports van de 64-bits compiler, maar het is niet gemakkelijk aan de praat te krijgen en je wordt er niet gelukkig van. Verder is het wel een mooi systeem en installeert het nu al standaard gcc4.7 (zonder std::thread though).quote:Op zaterdag 11 augustus 2012 23:27 schreef thabit het volgende:
MinGW ken ik niet, wel Cygwin. Cygwin heeft bij mijn weten geen 64-bits-ondersteuning. Heeft MinGW dat wel?
 
			 
			
			
			 
			 
			
			
			 
			 
			
			
			Misschien ben je wel een goede testpersoon voor mijn klasses, je lijkt wel in de doelgroep te vallen.quote:Op zaterdag 11 augustus 2012 23:40 schreef thenxero het volgende:
Maar wat heeft dit voor een consequenties voor mij?
Of is er een andere vrij eenvoudige manier om met grote getallen om te gaan? Ik moet PE probleem 13 en 20 toch ook wel zonder non-standaard libraries kunnen oplossen?

| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <iostream> #include "unlimited_int.h" // Print all primes below 2000 very inefficiently. bool is_prime(Unlimited::Int const &n) { if (n < 2) return false; Unlimited::Int sqrt_n = n.sqrtc(); for (Unlimited::Int i = 2; i <= sqrt_n; ++i) { if (n % i == 0) return false; } return true; } int main() { for (Unlimited::Int n(1); n < 2000; ++n) { if (is_prime(n)) std::cout << "Prime: " << n << '\n'; } } | 

 
			 
			
			
			Heb het geprobeerd, maar ik krijg een overflow aan errors. Meer dan 50 wil ie niet weergevenquote:Op zaterdag 11 augustus 2012 23:50 schreef GS42 het volgende:
[..]
Misschien ben je wel een goede testpersoon voor mijn klasses, je lijkt wel in de doelgroep te vallen.
Als je wilt, kan je ze via http://code.google.com/p/unlimited-int/ downloaden. De code is klaar, de documentatie nog niet. Via 'downloads' kan je unlimited_int.h downloaden en dat is eigenlijk alles dat je nodig hebt. Een voorbeeldje van gebruik:
[ code verwijderd ]
(Compileer met -std=c++11.)
Je kunt Unlimited::Int gewoon als int gebruiken. Als je het wilt proberen en er iets onduidelijk is, moet je mij maar even vragen want de documentatie is dus nog niet af.
(Trouwens, als jullie commentaar op de broncode willen leveren, is dat natuurlijk ook gewenst. Kijk dan alleen niet in unlimited_int.h maar bekijk de code via 'Source' -> 'Browse' want van die header file word je gek.)
 . Ik heb gewoon jouw code van die priemgetallen geplakt, en de instructies gevolgd.
 . Ik heb gewoon jouw code van die priemgetallen geplakt, en de instructies gevolgd. 
			 
			
			
			 
			 
			
			
			Wat ze bij 20 doen is:quote:Op zondag 12 augustus 2012 00:20 schreef thenxero het volgende:
Maar het kan toch niet zo moeilijk zijn, >70 000 mensen hebben die opgelost. Er zitten problemen bij die veel minder mensen hebben opgelost waar ik geen moeite mee heb.

 
			 
			
			
			Dank je wel voor het uitproberen. Ik zal zelf eens Code::Blocks installeren en kijken of ik kan vinden wat er mis gaat.quote:Op zondag 12 augustus 2012 00:04 schreef thenxero het volgende:
[..]
Heb het geprobeerd, maar ik krijg een overflow aan errors. Meer dan 50 wil ie niet weergeven. Ik heb gewoon jouw code van die priemgetallen geplakt, en de instructies gevolgd.
Bijna alle errors hebben trouwens met elkaar gemeen dat er d_number instaat. Steeds een herhaling van dat ie niet in de scope zit, of geen member is van de class Unlimited::Uint.
 Als je C++11 wilt gebruiken, zal je minimaal 4.6 moeten hebben. Je kunt gaan googlen op dingen als "GMP for code blocks", daarmee vind ik wat hoopvolle resultaten. Als je het aandurft, mag je mijn ding ook nog eens proberen. Omdat ik denk dat dit wel vaker voor zal komen, heb ik ook een niet-11 versie tussen de downloads gezet.
 Als je C++11 wilt gebruiken, zal je minimaal 4.6 moeten hebben. Je kunt gaan googlen op dingen als "GMP for code blocks", daarmee vind ik wat hoopvolle resultaten. Als je het aandurft, mag je mijn ding ook nog eens proberen. Omdat ik denk dat dit wel vaker voor zal komen, heb ik ook een niet-11 versie tussen de downloads gezet.Ietwat nutteloos om hier neer te zetten, niet? Het is niet alsof het antwoord gecontroleerd moet worden: je weet wanneer het goed is. Alleen om te laten zien dat je het kan? Beetje flauw.quote:Op zondag 12 augustus 2012 01:59 schreef t4rt4rus het volgende:
Dit is trouwens het antwoord van vraag 13
[...]
 
			 
			
			
			Was om te laten zien hoe groot het getal word. (Het antwoord staat er niet in...)quote:Op zondag 12 augustus 2012 02:31 schreef GS42 het volgende:
[..]
Ietwat nutteloos om hier neer te zetten, niet? Het is niet alsof het antwoord gecontroleerd moet worden: je weet wanneer het goed is. Alleen om te laten zien dat je het kan? Beetje flauw.
 
			 
			
			
			 
			 
			
			
			Dat is misschien het beste, misschien heb ik dat in de toekomst ook nog voor andere dingen nodig. Hoe installeer die nieuwe gcc?quote:Op zondag 12 augustus 2012 13:57 schreef ari_zahav het volgende:
Je kan trouwens makkelijk een nieuwe gcc toevoegen aan code::blocks btw
 
			 
			
			
			Haha, wolfram alpha gebruiken is wel heel flauw. Maar dat verklaart wel waarom zoveel mensen het hebben opgelostquote:Op zondag 12 augustus 2012 01:36 schreef t4rt4rus het volgende:
[..]
Wat ze bij 20 doen is:
http://www.wolframalpha.com/input/?i=100!
En dan string copieren en alles optellen.
En voor dertien heb je alleen maar de eerste 13-15 cijfers nodig van alle 100 nummers.
Maar dan wel op een 64bit PC.
Op 32bit lukt dat niet echt...
 
											
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |