Otek0
Otek0
1
#programowanie #python #algorytmy
Mirki, robię program do rozliczania wydatków w mieszkaniu studenckim na 3 osoby i próbuję ogarnąć jakiś wzór na wyliczanie kto komu ma ile oddać.
Przykładowo:
osoba1 zrobiła zakupy za 50 dych
osoba2 za 45 zł
osoba3 za 28 zł

Moje próby w stylu

dlug_os1_os2 = dlug_os1_os2 + wydatek/3 - dlug_os2_os1
dlug_os3_os2 = dlug_os3_os2 + wydatek/3 - dlug_os2_os3

ni ch* nie chcą działać

I jak to teraz wyliczyć kto komu ma ile oddać?
Dzięki za pomoc z góry
  • Najlepsze
  • Wszystkie komentarze
venomik
@Otek0: Prościej.
Szeregujesz osoby względem sumarycznych wydatków (A, B, C) i liczysz średnią wydatków (S).
Teraz są dwie możliwe sytuacje. Albo jedna osoba ma wydatki poniżej średniej, albo dwie (albo S jest w przedziale (A, B), albo w przedziale (B, C)
1. Jeśli jedna osoba ma wydatki poniżej średniej (osoba A) to musi oddać osobom B i C ich nadwyżkę nad średnią (osoba B dostaje B-S, osoba C dostaje C-S)
2. Jeśli dwie osoby
taju
taju
6
@Otek0:

najbardziej optymalne

Masz ty rozum i godnosc czlowieka?
Ugolf
Ugolf
4
@Otek0: Debugowanie z użyciem żółtej kaczki ( ͡° ͜ʖ ͡°)
https://www.wikiwand.com/pl/Metoda_gumowej_kaczuszki
c.....a
c.....a
@Otek0: dlaczego tylko trzech, a nie n osób?
Ksurix
@Otek0: A na jakiej zasadzie chcesz policzyc kto ile ma komu oddac? Moze napisz to jeszcze raz co chcesz aby ten program robil............Ps. Python to nie tablica na lekcjach matematyki
s.....r
s.....r
@Otek0: wcale nie musisz robić ( ͡° ͜ʖ ͡°)
http://komuile.pl/
DawajChleb
@venomik: fajnie wytłumaczone. Dzięki.
Otek0
Otek0 Autor
1
@venomik Dziekuje bardzo
Klofta
@Otek0: widziałem taka aplikacje bodajże na androida, poszukaj
sokytsinolop
@Klofta: ale on to chce napisać a nie użyć :)
Otek0
Otek0 Autor
0
Już nieważne mirki, ogarnąłem, jakby ktoś był ciekawy, to mogę wrzucić później.

sokytsinolop
@Otek0: dawaj
Otek0
Otek0 Autor
0
@sokytsinolop
6 zmiennych

dlug_os1_os2 #ile osoba pierwsza musi oddać drugiej
dlug_os1_os3 #ile osoba pierwsza musi oddać trzeciej

i tak
Budek24
@calka_stochastyczna: Bo w mieszkaniu mieszkają 3 osoby :)
c.....a
c.....a
@Budek24: nie lepiej napisać program dla n i przyjąć n = 3? Poćwiczyłbyś algorytmikę.
c.....a
c.....a
MasterSoundBlaster
Otek0
Otek0 Autor
0
@MasterSoundBlaster ale ja nie szukalem gotowych rozwiązań, piszę coś swojego do użytku prywatnego
MasterSoundBlaster
@Otek0:
Ale ja tylko jako ciekawostkę.