Zadanie z olimpiady (Francja). Sprawdź czy potrafisz rozwiązać? izab7 izab7 z youtube.com dodany: 22.02.2024, 15:37:38 # matematyka# edukacja# nauka# technologia# ciekawostki# szkolastandard 6 Odpowiedz
faxepl faxepl 22.02.2024, 16:43:38 via Wykop 5 + - $ python3>>> def _():... MAX = 768... for a in range(1, MAX+1):... for b in range(1, MAX+1):... for c in range(1, MAX+1):... if((a*b + c == 2020) and (a + b*c) == 2021):... print(a, b, c)... return... >>> _()673 2 674( ͡º ͜ʖ͡º)
faxepl faxepl 23.02.2024, 18:49:42 via Wykop 0 + - @zalp: modyfikowałem program żeby zwracał jakikolwiek wynik ( ͡° ͜ʖ ͡°) Zacząłem od MAX = 512, potem zwiększyłem o połowę.
zalp zalp 23.02.2024, 19:20:38 via Wykop 1 + - @faxepl: jest więcej niż 1 rozwiązanie, ale żeby znaleźć wszystkie musisz zacząć od zera i nie możesz dawać return po wypisaniu wyniku.A MAX trzeba dać dużo większy, przynajmniej tak duży jak największa liczba z danych.Tylko że wtedy obliczenia potrwają kilka razy dłużej niż rozwiązanie tego ręcznie.Zasadniczo powinno się sprawdzać też liczny ujemne, a to jeszcze bardziej wydłużyło by obliczenia.
paw1470 paw1470 22.02.2024, 16:26:22 via Android 0 + - Przyznaję że nie pamiętam jak to policzyć. Tylko ze w tym przypadku nie muszę liczyć żeby zgadnąć drugą odpowiedź.
Komentarze (6)
najlepsze
$ python3
>>> def _():
... MAX = 768
... for a in range(1, MAX+1):
... for b in range(1, MAX+1):
... for c in range(1, MAX+1):
... if((a*b + c == 2020) and (a + b*c) == 2021):
... print(a, b, c)
... return
...
>>> _()
673 2 674
( ͡º ͜ʖ͡º)
A MAX trzeba dać dużo większy, przynajmniej tak duży jak największa liczba z danych.
Tylko że wtedy obliczenia potrwają kilka razy dłużej niż rozwiązanie tego ręcznie.
Zasadniczo powinno się sprawdzać też liczny ujemne, a to jeszcze bardziej wydłużyło by obliczenia.