są liczby np. 54 które nie są potęgą liczby 3 a 54 mod 3 = 0 więc te rozwiązanie nie jest do końca poprawne (popraw mój tok myślenia jeśli nie mam racji)
@@informatura3575 o tym mówię a przyjąłeś że każda liczba spełniająca warunek liczba mod 3 = 0 jest potęgą trójki, chyba że gdzieś w programie jest inna funkcja która to dalej sprawdza
4.3 moim zdaniem jest błędnie mimo że podaje poprawny wynik. Dla przykładowych danych z polecenia (5, 70, 28, 42, 98, 1) twój program podaje zły wynik ponieważ przy wczytywaniu nie uwzględniasz wszystkich możliwości. Wczytujesz 1 i 2 liczbę, a potem 3 i 4 itd. a przecież ciąg może rozpoczynać się od 2. liczby :/
Masz rację, podczas tworzenia tego nie zwróciłem na to uwagi a wynik wyszedł dobry, postaram się dzisiaj wrzucić w opis poprawione rozwiązanie tego zadania
Nie pamiętam czy wszystko jest posortowane, ale właśnie chodzi o to, żeby pętla się zakończyła gdy nwd będzie = 1. Całość programu jest w instrukcji for. Gdy petla while sie konczy program pobiera kolejne dwie liczby z pliku i znowu wykonuje pętle while, jeśli przejdzie przez wszystkie dane ma w zmiennych zapisane dane najdłuższego takiego ciągu
ponieważ liczba2 to string czyli tablica znaków, musimy zamienić go na int aby móc wykonywać na nim obliczenia, dzięki tablicy ASCII wiemy, że trzeba odjąć 48
są liczby np. 54 które nie są potęgą liczby 3 a 54 mod 3 = 0 więc te rozwiązanie nie jest do końca poprawne (popraw mój tok myślenia jeśli nie mam racji)
Dzieląc 54 przez 3 mamy kolejno : 54, 18, 6, 2, 2 nie jest równe 1 więc 54 nie jest potęga 3.
@@informatura3575 o tym mówię a przyjąłeś że każda liczba spełniająca warunek liczba mod 3 = 0 jest potęgą trójki, chyba że gdzieś w programie jest inna funkcja która to dalej sprawdza
@@raxyen sprawdza to funkcja potega3(), w której nie tylko sprawdzany jest ten warunek
4.3 moim zdaniem jest błędnie mimo że podaje poprawny wynik. Dla przykładowych danych z polecenia (5, 70, 28, 42, 98, 1) twój program podaje zły wynik ponieważ przy wczytywaniu nie uwzględniasz wszystkich możliwości. Wczytujesz 1 i 2 liczbę, a potem 3 i 4 itd. a przecież ciąg może rozpoczynać się od 2. liczby :/
Masz rację, podczas tworzenia tego nie zwróciłem na to uwagi a wynik wyszedł dobry, postaram się dzisiaj wrzucić w opis poprawione rozwiązanie tego zadania
Czy w 3 liczby są posortowane od największego nwd? Pętla while nie wysypie się jeśli będzie para która ma nwd 1? Nie rozumiem czegoś
Nie pamiętam czy wszystko jest posortowane, ale właśnie chodzi o to, żeby pętla się zakończyła gdy nwd będzie = 1.
Całość programu jest w instrukcji for. Gdy petla while sie konczy program pobiera kolejne dwie liczby z pliku i znowu wykonuje pętle while, jeśli przejdzie przez wszystkie dane ma w zmiennych zapisane dane najdłuższego takiego ciągu
Skąd się bierze to -48 w 6:03?
ponieważ liczba2 to string czyli tablica znaków, musimy zamienić go na int aby móc wykonywać na nim obliczenia, dzięki tablicy ASCII wiemy, że trzeba odjąć 48
nie wystarczy napisać - '0', a nie stosować magiczne liczby?
@@RaxonPC szanujmy się, trzeba ascii wkuć na pamięć
Ale speedrun zes odjebal wez troche wolniej pls
to weź prędkość na 0.5 XD
@@informatura3575 tak musiałem zrobić xD tak czy inaczej dzieki za opracowywanie matur