Oprettet ons. d. 28. maj 2003 kl. 00:43:17

cgroup
cgroup (16.600 point. Point ude: 710)

Matematisk udfordring

Hejsa
Jeg er kommet i en lille knipe, jeg skal lave en tæller, som et lidt mere kompliceret end normalt. Så min ide var at lave en formel som kan beregne det jeg vil prøve at beskrive hvad meningen er.
Jeg skal lave en tæller som kan finde ud hvor mange råd bruger skal have som funktion  1 til n antal dage. Jeg skal bruge 3 forskellige formler den 1. er nem nok da der skal gives 1 råd hver 28. dag så den må hedder noget ligende råd=(dag_nr/28).
Men formel nr. 2 har værdierne:
(x,y)->(7,1)(14,2)(21,3)(35,4)(42,5)(49,6)(63,7) osv for x->n
Formel nr.3 har værdierne:
(x,y)->(1,1)(5,2)(8,3)(12,4)(15,5)(19,6) osv for x->n

Er der mon nogen som kan knække den ?
Det som jeg gerne skulle have er formel 2 og 3 som jeg kan bruge i et PHP script.

MVH
Peter

Skrevet ons. d. 28. maj 2003 kl. 01:08:09| #1

arne_v
arne_v (1.005.653 point)
formel 2:

råd = dage/7 - dage/28

Skrevet ons. d. 28. maj 2003 kl. 01:09:46| #2

jakoba
jakoba (172.327 point)
(x,y)->(7,1)(14,2)(21,3)(35,4)(42,5)(49,6)(63,7)

1 * 7 == 7    (7,1)
2 * 7 == 14  (14,2)
3 * 7 == 21  (21,3)
4 * 7 == 28  ???????  hvorfor så (35,4)

jeg kan ikke få en osv. ud af det

Skrevet ons. d. 28. maj 2003 kl. 01:12:22| #3

arne_v
arne_v (1.005.653 point)
formel 3:

råd = (dage+6)/7 + (dage+2)/7

Skrevet ons. d. 28. maj 2003 kl. 01:13:27| #4

arne_v
arne_v (1.005.653 point)
Jeg kan ikke PHP så jeg kan ikke give dig PHP koden men det må
være overkommeligt udfra disse formler.

Skrevet ons. d. 28. maj 2003 kl. 01:14:17| #5

arne_v
arne_v (1.005.653 point)
jakob>

Jeg forstår heller ikke hvorfor formlerne er som de er, men
mine formler kan så vidt jeg kan se generere de rigtige
sekvenser.

Skrevet ons. d. 28. maj 2003 kl. 01:15:57| #6

cgroup
cgroup (16.600 point)
Til jakoba
Det er fordi i formel2 skal hvert 4. råd være af en anden type som ikke skal tælles med og for formel 3 skal hvert 3. råd være en den type som ikke tælles med - og her er frekvensen på råd bare højere

Skrevet ons. d. 28. maj 2003 kl. 01:19:50| #7

cgroup
cgroup (16.600 point)
Til Arne V
De formler giver ikke de rigtige værdier - sorry

Skrevet ons. d. 28. maj 2003 kl. 01:21:51| #8

cgroup
cgroup (16.600 point)
Jeg skal måske lige sige at i de værdier jeg har giver et x=dage og y=råd

Skrevet ons. d. 28. maj 2003 kl. 01:22:50| #9

roenving
roenving (327.724 point)
formel 3:

floor((x-1)/3.5)+1

Skrevet ons. d. 28. maj 2003 kl. 01:26:22| #10

detox
detox (68.932 point)
Nu ved jeg ikke om man kan kalde det formler, men de udregner de rigtige værdier så vidt jeg har forstået.
Nr. 2:
for ($i=1;$i<$n;$i++) {
    $j++;
    if (!fmod($j,4)) {$j++;}
    $x[] = $j*7;
    $y[] = $i;
}
Nr. 3:
$x[1] = 1;
$y[1] = 1;

for ($i=2;$i<$n;$i++) {
    if ($j == 4) {$j = 3;}
    else {$j = 4;}
    $x[] = $x[$i-1] + $j;
    $y[] = $i;
}

Skrevet ons. d. 28. maj 2003 kl. 01:27:05| #11

roenving
roenving (327.724 point)
formel 1 = floor(x/28) + 1
formel 2 = -floor(x/28)-1 + floor(x/7)
(eller floor(x/7) - formel 1 !-)
og så formel 3 som angivet

Skrevet ons. d. 28. maj 2003 kl. 01:33:55| #12

roenving
roenving (327.724 point)
Øeh -- lige lidt smårettelser ...

I:
y = floor(x/28)

II:
z = floor(x/7) - y

III:
w = floor((x-1)/3.5)+1

Skrevet ons. d. 28. maj 2003 kl. 01:37:02| #13

arne_v
arne_v (1.005.653 point)
cgroup>

For hvilke værdier giver mine formler ikke korrekt svar ?

Skrevet ons. d. 28. maj 2003 kl. 01:43:42| #14

detox
detox (68.932 point)
prøv at se indlæg fra kl.: 01:15:57

Skrevet ons. d. 28. maj 2003 kl. 01:44:57| #15

cgroup
cgroup (16.600 point)
arne v>
formel 2:
Skal give:(7,1)(14,2)(21,3)(35,4)(42,5)(49,6)(63,7)
Din giver:(7,0.75)(14,1.5)(21,2.25)(42,4.5)
formel 3:
Skal give:(1,1)(5,2)(8,3)(12,4)(15,5)(19,6)
din giver:(1,1.4)(5,2.57)(8,3.43)(12,4.57)

Skrevet ons. d. 28. maj 2003 kl. 01:47:08| #16

arne_v
arne_v (1.005.653 point)
Du bad om:

(7,1)(14,2)(21,3)(35,4)(42,5)(49,6)(63,7)
(1,1)(5,2)(8,3)(12,4)(15,5)(19,6)

Mine formler giver:
7 1
14 2
21 3
35 4
42 5
49 6
63 7

1 1
5 2
8 3
12 4
15 5
19 6

jeg kan ikke se nogen forskel !

Skrevet ons. d. 28. maj 2003 kl. 01:49:31| #17

roenving
roenving (327.724 point)
>>arne

-- er det ikke fordi php er helt typeløst, at du med dine standard int-beregninger ikke ser decimalerne ...

Skrevet ons. d. 28. maj 2003 kl. 01:49:47| #18

arne_v
arne_v (1.005.653 point)
Jeg skrev eksplicit at du du selv skulle konvertere til PHP.

Hvis PHP ikke laver heltals division så skal der konverteres til
heltal undervejs.

Baseret på de øvrige svar vil jeg konkludere at:

råd = dage/7 - dage/28
råd = (dage+6)/7 + (dage+2)/7

skal være:

råd = floor(dage/7) - floor(dage/28)
råd = floor((dage+6)/7) + floor((dage+2)/7)

Skrevet ons. d. 28. maj 2003 kl. 01:50:51| #19

arne_v
arne_v (1.005.653 point)
roenving>

Jo præcis - jeg forventede at / var heltals division når
argumenterne var heltal ikke floating point division.

Skrevet ons. d. 28. maj 2003 kl. 01:52:05| #20

arne_v
arne_v (1.005.653 point)
En rimelig antagelse vil jeg mene da spørgsmålet jo sagde
at formel 1 var:

råd=(dag_nr/28).

det stemmer jo også kun med heltals division.

Skrevet ons. d. 28. maj 2003 kl. 01:54:12| #21

tipsen
tipsen (34.482 point)
Er essensen at du skal have en funktion der kan give dig antal råd som output når du giver antal dage som input?

Der gives råd på baggrund af 3 forskellige kriterier:

- én gang om måneden
- én gang om ugen
- to gange om ugen

Det ligner kriterierne - er det korrekt?

Ellers prøv at forklare det lidt bedre - der er svar blandt de ovenstående der fungerer rigtigt på det eksempel du selv er kommet med!

Skrevet ons. d. 28. maj 2003 kl. 02:01:49| #22

cgroup
cgroup (16.600 point)
Arne V
Jeg beklager det virker tak skal du have - kan du evt. checkke at formel 1 også er korrekt ?

Skrevet ons. d. 28. maj 2003 kl. 02:05:46| #23

arne_v
arne_v (1.005.653 point)
råd=dage/28

og på PHP'sk:

råd=floor(dage/28)

vil give (28,1) (56,2) (84,3) ...

Skrevet ons. d. 28. maj 2003 kl. 02:08:16| #24

cgroup
cgroup (16.600 point)
Jeg takker - 1 ting kan man "skubbe" formel 3 således at den først starter på dag 5 ?

Skrevet ons. d. 28. maj 2003 kl. 02:09:59| #25

detox
detox (68.932 point)
Jeg får nu den anden formel til:
1 7
2 14
3 21
3 28
4 35
5 42
6 49
6 56
7 63
men det er måske bare mig?

Skrevet ons. d. 28. maj 2003 kl. 02:17:14| #26

arne_v
arne_v (1.005.653 point)
cgroup>

Ja da.

Vil du bare have:

(5,1)(8,2)(12,3)(15,4)(19,5)

?

Det kunne nok f.eks. laves med:

råd = (dage+6)/7 + (dage+2)/7 - 1

alias

råd = floor((dage+6)/7) + floor((dage+2)/7) - 1

Skrevet ons. d. 28. maj 2003 kl. 02:17:54| #27

arne_v
arne_v (1.005.653 point)
eller:

råd = (dage-1)/7 + (dage+2)/7

alias

råd = floor((dage-1)/7) + floor((dage+2)/7)

Skrevet ons. d. 28. maj 2003 kl. 02:19:54| #28

arne_v
arne_v (1.005.653 point)
detox>

Forskellen er kun den at vi kun har taget det antal dage med hvor
antal råd skifter.

Du har taget hver 7. dag.

Det giver forskel på 28, 56, ... etc..

Men det er ikke substantiel forskel.

Skrevet ons. d. 28. maj 2003 kl. 02:22:05| #29


Skrevet ons. d. 28. maj 2003 kl. 20:22:48| #30

cgroup
cgroup (16.600 point)
Arne lige et spørgsmål mere...
mht: råd = floor((dage+6)/7) + floor((dage+2)/7) - 1
den virker fint men du skal jeg vende den om - altså jeg kender antal råd, men nu skal jeg vide på hviklen dag det skulle være givet ligesom for:
råd = floor(dage/7) - floor(dage/28)
som bliver vendt til:
dage = floor((7/2) * råd + (1/2))+1
Er det noget du en eller en anden kan hjælpe med ?

Skrevet ons. d. 28. maj 2003 kl. 20:42:09| #31

arne_v
arne_v (1.005.653 point)
Jeg kigger på det.

Skrevet ons. d. 28. maj 2003 kl. 20:47:37| #32

arne_v
arne_v (1.005.653 point)
dage=3*(råd/2)+4*(råd-råd/2)+1

alias

dage=3*floor(råd/2)+4*(råd-floor(råd/2))+1

Skrevet ons. d. 28. maj 2003 kl. 21:41:52| #33

cgroup
cgroup (16.600 point)
Tak, jeg har lige en hurtig en mere:
råd = 1/7 * dage + 0,571428571

hvordan vender jeg den om ?

Skrevet ons. d. 28. maj 2003 kl. 22:03:50| #34

arne_v
arne_v (1.005.653 point)
Den bruger jo decimal tal, så den kan vendes matematisk:

dage = 7 * (råd - 0,571428571)

Men hvis du mener:

råd = (dage+4)/7
råd = floor((dage+4)/7)

så må det være:

dage = 7*råd-4;

Skrevet tor. d. 29. maj 2003 kl. 17:44:29| #35

cgroup
cgroup (16.600 point)
Hej Arne
Så er jeg her igen :-)
dage=3*floor(råd/2)+4*(råd-floor(råd/2))+1 - virker ikke efter hensigten så jeg har fundet x,y værdierne til den - er det så muligt at du vil være flink at hjælpe med at finde formel til værdierne:
(x,y)->(1,14)(2,21)(3,28)(4,42)(5,49)(6,56)(7,63)(8,77) osv.

Og så skal jeg høre om man kan skubbe denne:
råd = FLOOR(dage/7)-FLOOR(dage/28)
Således at første x,y værdi bliver 14,1 istedet for 7,1

Jeg håber ikke at jeg er ved at blive irreterende...
MVH
Peter

Skrevet tor. d. 29. maj 2003 kl. 18:07:48| #36

arne_v
arne_v (1.005.653 point)
Mener du:

(1,14)(2,21)(3,28) (4,42)(5,49)(6,56)(7,63) (8,77)

eller:

(1,14)(2,21)(3,28) (4,42)(5,49)(6,56) (7,70)(8,77)

?

Skrevet tor. d. 29. maj 2003 kl. 18:09:55| #37

arne_v
arne_v (1.005.653 point)
råd = FLOOR(dage/7)-FLOOR(dage/28) - 1

vil give 14,1 men vil også give -1 for 1-6 hvilket næppe
er meningen.

Præcis hvordan skal sekvensen være ?

Skrevet tor. d. 29. maj 2003 kl. 18:11:48| #38

cgroup
cgroup (16.600 point)
Jeg Mener:
(1,14)(2,21)(3,28) (4,42)(5,49)(6,56)(7,63) (8,77)

Skrevet tor. d. 29. maj 2003 kl. 18:14:09| #39

cgroup
cgroup (16.600 point)
Sekvensen for: råd = FLOOR(dage/7)-FLOOR(dage/28) - 1

(14,1)(21,2)(28,3)(42,4)(49,5)(56,6)(63,7)(77,8) osv

Skrevet tor. d. 29. maj 2003 kl. 19:46:00| #40

arne_v
arne_v (1.005.653 point)
Det er ikke den sekvens jeg får.

Jeg får:

14,1
21,2
35,3
42,4
49,5
63,6
70,7

er den formel der er forkert ?

Skrevet tor. d. 29. maj 2003 kl. 19:52:11| #41

cgroup
cgroup (16.600 point)
Du har ret - formlen er forkert sekvensen skal være:
(14,1)(21,2)(28,3)(42,4)(49,5)(56,6)(63,7)(77,8) osv

og så skal jeg bruge en formel som giver denne sekvens:
(1,14)(2,21)(3,28) (4,42)(5,49)(6,56) (7,70)(8,77) osv

Altså 2 formler

Skrevet søn. d. 01. juni 2003 kl. 17:11:17| #42

arne_v
arne_v (1.005.653 point)
Jeg har ikke svaret fordi jeg ikke vil.

Men jeg kan simpelthen ikke se nogen matematisk sammenhæng
i de sekvenser.

Skrevet søn. d. 01. juni 2003 kl. 17:41:33| #43

tipsen
tipsen (34.482 point)
(x + 1 + (int) (x/4)) * 7

Giver:

0,  7
1, 14
2, 21
3, 28
4, 42
5, 49
6, 56
7, 63
8, 77
9, 84
10, 91
11, 98
12,112
osv.

Er det den sekvens du ønsker? - fordi de sekvenser du angiver ovenfor har intet med hinanden at gøre og som arne også skriver er det ikke umiddelbart en logisk sammenhæng i tallene - i så fald er sekvensen for kort til at illustrere denne tydeligt!

Hvordan finder du selv på tallene i de sekvenser du angiver - der må være en form for logik du bruger som du kan fortælle videre - alternativt kan du lige kigge dem igennem og se om du har lavet fejl i sekvenserne!?!?

Skrevet ons. d. 11. juni 2003 kl. 03:47:01| #44

cgroup
cgroup (16.600 point)
Ok jeg har åbentbart selv haft lidt rod i de værdier jeg skal bruge, så her kommer de rigtige.
Formel 1. Skal give værdierne:
(14,1)(28,2)(35,3)(42,4)(56,5)(63,6)(70,7)(84,8)
Sammenhængen for X værdierne er altså start i 14 derefter +14 +7 +7 +14 +7 +7 +14

Formel 2. Skal være som Formel  1 der er dog byttet om på X og Y værdier altså:
(1,14)(2,28)(3,35) osv.

Formel 3. Skal give værdierne:
(5,1)(11,2)(15,3)(18,4)(22,5)(25,6)(29,7)
Sammenhængen her er altså: X starter i 5 derefter +6 +4 +3 +4 +3

Formel 4. Skal igen være som Formel 3 bare med omvendte xy værdier

Formel 5. skal give værdierne:

(21,1)(49,2)(77,3) altså start i x=21 derefter +28 hvergang

Formel 6. Igen som formel 5 med omventde XY værdier

Formel 7. Skal give værdierne:
(13,1)(20,2)(27,3)(34,4) altså start i x=13 derefter +7 hvergang

Formel 8. formel 7 med omvendte xy værdier

Jeg håber ikke at jeg er ved at give nogen grå hår med alt dette her og takker tusinde gange forhånd for hjælpen - jeg giver gerne en drink som tak.

Skrevet ons. d. 11. juni 2003 kl. 08:29:36| #45

arne_v
arne_v (1.005.653 point)
Jeg kigger på det senere (formentligt i aften).

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Udtræk af enkelte felter fra bestemte kolonner i mysql

Oprettet den 11. februar 2012 kl. 19.27
hrole giver 30 point for svar | Giv et svar »

Procentregning

Oprettet den 11. februar 2012 kl. 11.26
sevinding giver 60 point for svar | Giv et svar »

Ville ikke tildele at upload det til database eller komme...

Oprettet den 10. februar 2012 kl. 21.23
tobrukDk giver 15 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger