Ilość wody potrzebna do zrobienia prania zadanie code wars

Ilość wody potrzebna do zrobienia prania zadanie code wars
P1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 640
1

Robię to zadanie https://www.codewars.com/kata/575fa9afee048b293e000287/train/javascript i muszę obliczyć ilość wody potrzebnej do wykonania prania. Mam tutaj przykład wzoru jak to obliczyć lecz nie zgadzają się wyniki:For example, if the amount of clothes is 10, the amount of water it requires is 5 and the load is 14, then you need 5 * 1.1 ^ (14 - 10) amount of water.Próbuje liczyć według wzoru podanego w fragmencie tego zdania no ale jak już powiedziałem wyniki się nie zgadzają. I teraz mam problem bo nie wiem czy nie rozumiem zadania czy po prostu któraś jego cześć przez autora jest niepoprawnie sformułowana?
Kod który do tej pory napisałem to:

Kopiuj
function howMuchWater(water, load, clothes){
  if(clothes > 2 * load){
    return 'Too much clothes';
  }else if(clothes < load){
    return 'Not enough clothes';
  }else{
    return Math.floor((water*1.1)+Math.pow(load-clothes));
  }
}
lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5023
0

A musi tam być floor?

PanamaJoe
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 310
1

@piotrek1998:

Poczytaj opinie:
https://www.codewars.com/kata/575fa9afee048b293e000287/discuss#label-issue

Z wyrazami największego obrzydzenia do JS proszę uprzejmie:

Kopiuj
    return Math.round(water * Math.pow(1.1, clothes - load) * 100) / 100;
adams0
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 333
1

Moje rozwiązanie, w moim ulubionym języku programowania :3 :

Kopiuj
function howMuchWater(water, load, clothes){
  if (clothes > load * 2) return 'Too much clothes';
  if (clothes < load) return 'Not enough clothes';
  const withDec = water * Math.pow(1.1, (load - clothes));
  return Math.round(withDec * 100) / 100
}

Nie zdaje testów.
Więc pewnie z testami jest coś nie tak ;-)

Silv
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
0

@adams0: nie zaokrągla do dwóch miejsc po przecinku.


UPDATE: A rzeczywiście zaokrągla. Nie zauważyłem, po co jest dzielenie przez 100. ;) Dziękuję, @PanamaJoe .

gk1982
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 541
0

Przechodziłem obok, po kopiowałem i swoje rozwiązanie przedstawiam :

Kopiuj
function howMuchWater(water, load, clothes){
 if (clothes > load * 2) return 'Too much clothes';
  if (clothes < load) return 'Not enough clothes';
    return +(water * 1.1**(clothes - load)).toFixed(2)
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.