WN

WN (https://www.wn.se/forum/index.php)
-   Off Topic (https://www.wn.se/forum/forumdisplay.php?f=7)
-   -   Lite enkel matte (https://www.wn.se/forum/showthread.php?t=3081)

pontus 2004-08-11 16:18

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

pontus 2004-08-11 16:42

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:

Thomas 2004-08-11 16:54

Citat:

Originally posted by pontus@Aug 11 2004, 16:42
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:

Får man loopa i nån form av programspråk är det ju lugnt ... dock är den klurig om det skall vara en ren formel.

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

pontus 2004-08-11 16:59

Skapa gjärna formeln i php eller asp åt mig... :)

nicclas 2004-08-11 17:23

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.

Thomas 2004-08-11 17:35

Citat:

Originally posted by pontus@Aug 11 2004, 16:59
Skapa gjärna formeln i php eller asp åt mig... *:)
Tyvärr kan jag bara perl men du kan säker skriva om till php själv ...


#!/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

nicclas 2004-08-11 17:39

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)

Thomas 2004-08-11 17:40

Citat:

Originally posted by nicclas@Aug 11 2004, 17:23
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.

najs!

Thomas

pontus 2004-08-11 17:41

Många, många tack för hjälpen. :)

Thomas 2004-08-11 17:49

Citat:

Originally posted by pontus@Aug 11 2004, 17:41
Många, många tack för hjälpen. :)
Tänkte dock på att inget av ovanstående kollar indatan.

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