![]() |
Hejsan, jag har ett värde(5, 10, 15) och vill få ut ett annat (0.1, 0.3, 0.7). Mönstret ser ni nedan:
5 0.1 (+0.2) 10 0.3 (+0.4) 15 0.7 (+0.6) 20 1.3 (+0.8) 25 2.1 (+1.0) 30 3.1 (+1.2) 35 4.3 (+1.4) 40 5.7 (+1.6) 45 7.3 (+1.8) 50 9.1 Hur gör jag en mattematisk formel för detta? Känns som att jag borde klara detta men jag har fått totalt hjärnsläpp. Skyller på sommarlovet... :D |
Ok, jag har kommit en liten bit, såhär ser formeln ut för att räkna ut hur mycket man ska plussa på till nästa nivå:
5[$a] 0.1 (+0.2) 10[$a] 0.3 (+0.4) ... $a = 5 (($a/5)+($a/5))/10=0.2 $a = 10 (($a/5)+($a/5))/10=0.4 Men fortfarande hjärnsläpp. Ser inte helheten... :unsure: |
Citat:
och själva ökningen tar du ju lättare så här va? $Foo = 10 (($Foo/5)-1)*0,2 som då blir talet som skall ökas till summan av tidigare tal i loopen för det är ju 0,2 som är intressant om $Foo är 10 och inte 0.4 rätta mej om jag har fel. Thomas |
Skapa gjärna formeln i php eller asp åt mig... :)
|
Ja, det är lurigt att få fram en ren formel, men det går:
$F=(($a-5)/5+1)*($a-5)/5/2*0.2+0.1 där $a är 5, 10, 15 eller 20 osv. $F blir det du efterfrågade 0.1, 0.3, 0.7, 1.3 osv. |
Citat:
#!/usr/bin/perl ############ print "Content-type: text/html\n\n"; $Foo = $ENV{'QUERY_STRING'}; $x = 1; $y = 0.1; $Bar = $y; while ($x <= ($Foo / 5)) { $Bar = $Bar + ((($x*5)/5)-1)*0.2; $Loop = $x * 5; print "$Loop : $Bar "; $x++; } print " "; print "[b]$Foo = $Bar[b]"; #----------------------- Exempel på resultatet ser du här ... http://www.meivert.com/___temp/?5 http://www.meivert.com/___temp/?50 osv ... Thomas |
Och i PHP räcker det att skriva:
<? $F=(($a-5)/5+1)*($a-5)/5/2*0.2+0.1 ?> Ja, ni ser ju själva hur mycket bättre PHP är än Perl :D (skämt) |
Citat:
Thomas |
Många, många tack för hjälpen. :)
|
Citat:
Min variant jobbar med att talet imellan 5, 10, 15 osv blir avrundat nedåt, nicclas resulterar i det exakta decimaltalet, så du kanske måste skriva nåt som kollar indatan oxå. Thomas |
Alla tider är GMT +2. Klockan är nu 19:52. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson