Hej!
Hur tar man reda på om ett tal är primtal? Jag har gjort ett litet program i miniräknaren för att kolla det. Det tar oerhört lång tid och jag vet inte ens om det fungerar som det ska.
Jag undrar om det finns ett bättre sätt att ta reda på primtal än med min miniräknarkod.
Prompt P
If (P/2)=iPart(P/2)
Then
Disp 2
Stop
End
For(C,3,rot(p),2)
If iPart(P/C)=(P/C)
Then
C->S
End
If S>1
Then
Disp S
Stop
End
Output(8,10,(iPart((C/rot(P))*100)))
End
Disp S
Är det nån som vet hur man gör med ASP och hur VBscriptkoden ska se ut. Nån kan ju tipse mig om miniräknarkoden med.
---------------------------------------
Texas Instruments TI-83 Plus
Algoritmen är snabb för små (32-bitars) tal men oanvändbar för jämna 64-bitars longs.
Det finns andra snabbare metoder också men oftast kräver de kunskap om talteori, såsom Fermats lilla sats mm, för att kunna förstås.
function isPrime(mVal)
dim i : i=3
if mVal < 2 then
isPrime = false
else
isPrime = true
mValSQR=sqr(mVal)
while i<=mValSQR
if mVal mod i=0 then
isPrime = false
exit function
end if
i = i + 2
wend
end if
end function
Tack! Tänkte om det fanns ett effektivt sätt att få reda på det. Men det går ju iaf relativt fort att få reda på små primtal.
Får använda mig av emmissions funktion eller nån liknande.
Smileys:
576 ms totalt · 4 externa anrop · v20260731065814-full.7d626504