Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_14_12 - Lista |
Grześ i Jaś dowiedzieli się na lekcji co to są trójki pitagorejskie.
Urządzają sobie zawody, w których wygra ten, kto wypisze ich więcej. Zwycięzca będzie mógł jako pierwszy po szkole usiąść do ich ulubionej gry Ice Tower. Jaś zapisał te najbardziej oczywiste trójki pitagorejskie: (3, 4, 5) i (5, 12, 13). Po dalszych obliczeniach znalazł (6, 8, 10). Jednak zaraz sobie uświadomił, że ta się nie liczy, bo jest 'wielokrotnością' (3, 4, 5). Myśli i liczy, liczy i myśli, ale nie może znaleźć żadnej kolejnej trójki. Patrzy na Grzesia, który zapisał już prawie całą stronę w zeszycie. Rozgląda się gorączkowo i widzi Ciebie, jak przyglądasz się ich zmaganiom.
"Umiesz programować" - pyta Jaś?
"Umiem" - odpowiadasz.
"Doskonale. Napisz mi proszę program, który wypisze trójki pitagorejskie!".
"Ile chcesz tych trójek?" - pytasz.
"WSZYSTKIE!"
Wejście
Na wejściu pojawią się dwie liczby n i m.
n - ilość różnych trójek pitagorejskich do wypisania (0 < n <=105)
m - maksymalna wartość, jaką może osiągnąć dowolna składowa trójki (100 <= m <= 106).
Wyjście
n linii zawierające różne trójki pitagorejskie (wielokrotności już wypisanych się nie liczą) mniejsze lub równe m.
Przykład
Wejście
10 100
Wyjście
3 4 5
5 12 13
7 24 25
8 15 17
9 40 41
11 60 61
12 35 37
13 84 85
16 63 65
20 21 29
Trójki można wypisywać w dowolnej kolejności.
Pojawienie się powtarzającej trójki (np. wielokrotności już wypisanej) natychmiast przerywa działanie programu.
Wartości są tak dobrane, że zawsze istnieje rozwiązanie.
Dodane przez: | Grzegorz Spryszyński |
Data dodania: | 2021-12-17 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: GOSU |