Vinnaren i pepparkakshustävlingen!
  • 2
  • 3
2022-12-12, 10:34
  #25
Medlem
Offices avatar
Citat:
Ursprungligen postat av Enterprise
Dag 11, jag har stött på patrull i del 2.
Del 1 gick bra, efter omfattande felsökning, men instruktionerna på del 2 är i ett avseende luddiga och "open ended".

I del 1 skulle man beräkna en worry-level enligt en given algoritm där man bl.a. dividerade worry level med 3 för varje runda, för att denna inte skulle bli alltför stor.

I del 2 ska man köra 10 000 rundor/iterationer och då anges att worry-level inte divideras med 3 i varje runda och att man istället får hitta på ett annat sätt att hålla worry-level "hanterbar".



Det duger inte att bara ta bort heltalsdivisionen på 3, då går det inte att köra 10 000 rundor, jag antar att så är fallet eftersom talen blir astronomiskt stora.

Jag har också provat att sätta in andra tal för heltalsdivision men resultatet överensstämmer inte med facit. Jag saknar uppenbarligen tillräcklig kreativitet för att lösa del 2 av problemet, även om jag tycker frågan är lite väl "open ended".

Edit: Efter att Googlat runt en hel del har jag läst mig till att lösningen är att köra en modulus-operation på worry-level med summan av divisorerna som man tester efter. Hittade en bra förklaring här:
https://www.reddit.com/r/adventofcod...eb2x&context=3
Trots denna utmärkta förklaring och liknande så får jag fortfarande inte rätt svar. Frustrerande.
Får du rätt svar efter 20 rundor utan divisionen? Det går att köra ganska lätt på en vanlig maskin t.o.m. i Python
Citera
2022-12-12, 13:44
  #26
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Office
Får du rätt svar efter 20 rundor utan divisionen? Det går att köra ganska lätt på en vanlig maskin t.o.m. i Python
Den vedertagna lösningen (enligt Reddit m.fl.) i del 2 är inte att enbart ta bort heltalsdivisionen och köra 20 rundor, utan att ersätta heltalsdivisionen med en modulus-operation och köra 10 000 rundor. Detta är samstämmiga källor överens om. Det bara det att jag inte lyckas, också med denna metod, få fram ett accepterat svar, så någonstans brister det

För att förtydliga , får jag "rätt" svar efter att ha kört 20 rundor? Ingen aning, det finns inget sådant facit. Det enda sättet man någorlunda kan kontrollera koden är att testköra koden med data från exemplet i frågan (och inte den skarpa datan) och göra stickprov på resultatet efter 20,40, 60 rundor etc, eftersom det rätta antalet inspections är angivet i exemplet. Jag får prova det.
__________________
Senast redigerad av Enterprise 2022-12-12 kl. 13:49.
Citera
2022-12-12, 14:11
  #27
Medlem
Offices avatar
Citat:
Ursprungligen postat av Enterprise
Den vedertagna lösningen (enligt Reddit m.fl.) i del 2 är inte att enbart ta bort heltalsdivisionen och köra 20 rundor, utan att ersätta heltalsdivisionen med en modulus-operation och köra 10 000 rundor. Detta är samstämmiga källor överens om. Det bara det att jag inte lyckas, också med denna metod, få fram ett accepterat svar, så någonstans brister det

För att förtydliga , får jag "rätt" svar efter att ha kört 20 rundor? Ingen aning, det finns inget sådant facit. Det enda sättet man någorlunda kan kontrollera koden är att testköra koden med data från exemplet i frågan (och inte den skarpa datan) och göra stickprov på resultatet efter 20,40, 60 rundor etc, eftersom det rätta antalet inspections är angivet i exemplet. Jag får prova det.
Det finns det ju visst, det finns ju ett resultat du kan kika på efter 1, 20, 1000 … 10000 rundor på testdatan.

Är det korrekt efter 20 rundor men inte efter säg 1000 så är det ju stor sannolikhet att din algoritm i övrigt är rätt men inte reduceringen av värdena.

Därför är 20 ganska lagom att kolla för då har talen inte hunnit bli så stora än.
Citera
2022-12-12, 15:16
  #28
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av Office
Det finns det ju visst, det finns ju ett resultat du kan kika på efter 1, 20, 1000 … 10000 rundor på testdatan.

Är det korrekt efter 20 rundor men inte efter säg 1000 så är det ju stor sannolikhet att din algoritm i övrigt är rätt men inte reduceringen av värdena.

Därför är 20 ganska lagom att kolla för då har talen inte hunnit bli så stora än.
Japp, ska kolla detta! Tack för input!
Citera
  • 2
  • 3

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback