Avatar billede kondi.koder Nybegynder
31. december 2001 - 01:32 Der er 1 kommentar og
1 løsning

Arbejde med meget store tal

Hejsa !!

Jeg har et program som skal arbejde med meget store tal. F.eks. 2000^2000.
Og det kan man jo ikke bare have i en variabel. Og hvad gør man så ??
Har en ide om at man kan dele det op i flere variabler, men det er MEGET langsomt for computeren, og hvad gør man så ??
Hvad gør man når man skal arbejde med så store tal ??

Fukntionen:
Function ITPO(itpo_val, itpo_power)
  itpo_val = itpo_val
  result = itpo_val
  for i = 1 to itpo_power
      result = result * itpo_val
  next
  ITPO = result
End function

Som ITPO som opløfter (in the power of), et tal, kan ikke tage ret store tal. Og det ønsker jeg at den skal kunne.

- kondi.koder :-)
Avatar billede mr_clark Nybegynder
07. januar 2002 - 14:54 #1
Hey der,

for det første kan du fjerne anden linie.

Så din funktion ser således ud:

Function ITPO (itpo_val, itpo_power)
  result = itpo_val
  for i = 1 to itpo_power
    result = result * itpo_val
  next
  ITPO = result
End Function

Derudover, så kan det ikke lade sig gøre. Max-værdien du kan komme ud for er en Double. Den går fra 1.79769313486232E308 til -4.94065645841247E-324 for negative værdier, og 4.94065645841247E-324 til 1.79769313486232E308 for positive værdier.

Og eftersom værdien af 2000 opløftet i 2000 er 1,1481306952742545242328332011777e+6602, står det jo lidt skidt til for dig ;o)

Men, hva\' skal du dog også bruge så stort et tal til i scripting-sammenhænge ?
Avatar billede kondi.koder Nybegynder
11. januar 2002 - 15:43 #2
Hejsa !!

Jeg skal løse ligningen:

x^n + y^n = z^n

alle tal er hele heltal, og er OVER 2.
Only one way: \"bruteforce that is\"

- kondi.koder :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester