03. august 2004 - 10:15
Der er
25 kommentarer og 1 løsning
lidt matematik
Hej Jeg har to tal. En konstant 25 og et tal der kan variere. hvis den variable er 10 vil jeg gerne have returneret 10 hvis den er 20 skal den give 20. 25 skal give 25. okay, så langt kan jeg godt selv :D hvis den får 30 skal den give 5. Det vil sige den skal loope rundt om 25. Så 70 vil give 20. Den skal osse virke negativt så - 35 giver 15 (25-10). Er der en matematisk hjerne derude der hurtigt kan lave en sådan function? Min den blev lidt for vild... : ) Jakob
Annonceindlæg fra Barco
03. august 2004 - 10:17
#1
den må aldrig give 0 kun tallene 1-25
03. august 2004 - 10:24
#2
Du bruger følgende (pseudo kode) const k = 25 inv v = 35 // din variabel int i = v mod (k+1) if i == 0 then i = 1
03. august 2004 - 10:25
#3
Et andet forslag: konstant = 25; variabel = -35; rest = Math.abs(variabel)%konstant; trace(rest); Hvorfor må funktionen ikke give nul, hvis nu variablen er 25?
03. august 2004 - 10:26
#4
Hvis der er problemer med negative tal, så sig til - lidt afh. af sprog, bliver negative tal behandlet forsk.
03. august 2004 - 10:26
#5
Måske: function f(tal) { tal%=25; if (tal<0) tal+=25 if (tal==0) tal=25; return tal; }
03. august 2004 - 10:27
#6
larsholmgaard> Den virker ikke. Den vil returnere 0 for variabel = 25... variabel = -35; rest = Math.abs(variabel)%(konstant+1); if rest=0 then rest=1; // syntax er måske forkert - kender ikke flash trace(rest);
03. august 2004 - 10:29
#7
erikjacobsen> He-he... ja den er faktisk lidt pænere. Men if (tal<0) tal+=25 Bør nok være (hvis overhovedet nødv.) while (tal<=0) tal+=25;
03. august 2004 - 10:31
#8
Det klares i linien efter. Min version sparer et kode-tegn på denne måde ;))
03. august 2004 - 10:32
#9
Nå du mener: function f(tal) { tal%=25; if (tal<=0) tal+=25 return tal; } whilen er ikke nødvendig.
03. august 2004 - 10:36
#10
jpvj, nej det var netop derfor jeg spurgte om, hvorfor funktionen skal lave en matematisk undtagelse, hvis variablen er 25 og der dermed ingen rest er. Men, det er måske et spørgsmål om en frame, den skal gå til og dermed må den ikke være nul...?
03. august 2004 - 10:37
#11
Tak for alle de hurtige svar. Desværre må jeg være en hård dommer og sige af pointene går til erikjacobsen. Men tak til jer andre aligevel. erikjacobsen kom med et svar
03. august 2004 - 10:39
#12
Mange tak, men jeg samler slet ikke på point.
03. august 2004 - 10:39
#13
lars> Min kommentar var fordi dit svar ser ud som om besvarer spm. og efterfølgende spørger om det overhovedet er nødvendigt... erikjacobsen> Hvad hvis variablen er -72 ? :-)
03. august 2004 - 10:39
#14
functionen må ikke give nul, da det er frames som skal skippes imellem. Det var osse der jeg fik problemmer selv. :D
03. august 2004 - 10:41
#15
Som jeg skrev i et tidligt indlæg, så ved jeg ikke hvordan Flash håndterer negative tal og modulo (%) funktionen. Dette er dog let at efterprøve. jakwag kan ex. prøve -40 mod 25 og se om det giver 15 (som jeg antager han vil have). Hvis det virker ok, så er der ingen grund til at tage hånd om negative tal i funktionen.
03. august 2004 - 10:41
#16
jpvj, nå - ja, bevares.
03. august 2004 - 10:43
#17
-72? Så giver den da 3. Prøv selv, jpvj
03. august 2004 - 10:45
#18
erikjacobsen > men hvem faen sgu jeg ellers give dem til?? Læg et svar..!
03. august 2004 - 10:46
#19
AARGH!! Sorry!! Jeg havde helt overset det spørgeren skrev: "25 skal give 25." My fault...
03. august 2004 - 10:46
#20
Jeg samler ikke på point. Hvis du ikke mener andre har fortjent dem, så svar selv, og accepter eget svar.
03. august 2004 - 10:46
#21
Ups... havde lige fået byttet om på 2 linier. Havde "set" den som stående før linien med %. Det er lidt svært at teste, når jeg ikke har flash :-) Men når jeg nu har lært at se, vil jeg tilslutte mig at din funktion er den optimale løsning.
03. august 2004 - 10:50
#22
Test det bare i JavaScript, det er stort set det samme. Det gør jeg - jeg kender intet til Flash.
03. august 2004 - 11:07
#23
... :| hvis i andre vil have point for deltajelse så læg et svar igen... erikjacobsen > du har fået karma istedet, det slipper du ikke for :D
03. august 2004 - 11:12
#24
Det er Erik vidst heller ikke interesseret i ;-)
03. august 2004 - 11:13
#25
Bare snup dem selv, nu hvor erikjacobsen ikke vil have dem... det er helt fint med mig.
03. august 2004 - 12:05
#26
: | Utroligt man ikke engang kan få lov at give point... Men så er lukker jeg. Tak for hjælpen.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.