Jag behöver en datatyp som kan ta extremt stora tal, så stora som möjligt. Kan man göra egna på nått vis eller vilken datatyp kan ta ta de största talen. Talen är alltid positiva. Jag tror att det är System.Decimal som klara de största talen. Den var iaf större än long :) Hehe vad innebär "nästan oändlig" :-) Hmm...Kan du inte göra en klass som har en array med int och en int som säger var decimalen är, och sen skriva funktioner för + - etc. Gjorde själv så för en uppgift i skolan nån gång, sen om det är det bästa sättet, mest effektivt eller inte vet jag inte PJa... det finns en klass som hter BigInteger... den kan du prova... Tack, den klarar av extremt stora tal iaf. Men den verkar inte fullt pålitlig, får fel resultat när jag ska försöka få ut resten av 2 tal. Någon som har en funktion för att ta fram rest? Pseudo:Extrema tal
Sv: Extrema tal
Klarar mellan -79,228,162,514,264,337,593,543,950,335 till 79,228,162,514,264,337,593,543,950,335
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemdecimalclasstopic.asp
// MvH BjörneSv:Extrema tal
Men jag skulle villja ha ännu större, nästan oändlig. Går det?Sv: Extrema tal
Hur som helst, decimal är den mest exakt datatypen (~30 siffrors nogrannhet tror jag), men double klarar ju större tal, men dock endast med typ 10-15 siffrors nogrannhet (har inte det i huvudet).
Vill du klara ännu större heltal så blir du tvungen att koda en lösning själv eller hitta en på nätet. Det finns flera trådar i forumet som diskuterar liknande problem :
[Stora tal i visual basic]
[Stora Tal!]
[Stora tal]
Jag har själv skrivit en sådan klass i C# som använder array av long-words, men den är långt ifrån färdig (stödjer i princip bara addition och multiplikation tror jag) och buggfri...finns säkert bättre lösningar på nätet...Sv: Extrema tal
Sv: Extrema tal
mer info hittar du här:
http://www.codeproject.com/csharp/biginteger.asp
/MSv:Extrema tal
Sv: Extrema tal
täljare=input();
nämnare=input();
kvot=0;
while(täljare>nämnare){
täljare-=nämnare;
kvot+=1;
}
print("rest=" + täljare);
print("heltalskvot=" + kvot);