• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Matura 2019, informatyka, Zad 4.3

Object Storage Arubacloud
0 głosów
183 wizyt
pytanie zadane 17 października 2023 w Python przez Jakub005 Początkujący (310 p.)
file = open('przyklad.txt', 'r')
data = []
for line in file:
    data.append(int(line.strip()))

def nwd(a, b):
    if b > 0:
        return nwd(b, a % b)
    return a


dlugosc_ciagu = 1
naj_dlugosc_ciagu = 0
letter = 0
naj_letter = 0
nwd1 = 0
naj_nwd1 = 0

for i in range(0, len(data)-1):
    dlugosc_ciagu = 1
    letter = data[i]
    if nwd(data[i], data[i + 1]) > 1:
        nwd1 = nwd(data[i], data[i + 1])
        dlugosc_ciagu = 2

        x = 2

        for j in range(i + x, len(data) + 1):
            if nwd(nwd1, data[j]) > 1:
                nwd1 = nwd(nwd1, data[j])
                dlugosc_ciagu += 1
                x += 1
            else:
                break
        if dlugosc_ciagu > naj_dlugosc_ciagu:
            naj_dlugosc_ciagu = dlugosc_ciagu
            naj_letter = letter
            naj_nwd1 = nwd1
    else:
        break
print(naj_letter,naj_dlugosc_ciagu,naj_nwd1)

Bardzo bym prosił o wskazanie w której linii występuje błąd, przez który wartości są jakie śa:14(pierwsza liczba) 4(dlugosc) 7(NWD).

W pliku liczby.txt znajdź najdłuższy ciąg liczb występujących kolejno po sobie i taki, że największy wspólny dzielnik ich wszystkich jest większy od 1 (innymi słowy: istnieje taka liczba całkowita większa od 1, która jest dzielnikiem każdej z tych liczb). Jako odpowiedź podaj wartość pierwszej liczby w takim ciągu, długość ciągu oraz największą liczbę całkowitą, która jest dzielnikiem każdej liczby w tym ciągu. W pliku z danymi jest tylko jeden taki ciąg o największej długości. Uwaga: Możesz skorzystać z zależności NWD(a, b, c) = NWD(NWD(a, b), c).

 

Przykład: Dla liczb 3, 7, 4, 6, 10, 2, 5 odpowiedzią jest 4 (pierwsza liczba ciągu), 4 (długość ciągu) i 2 (największy wspólny dzielnik), natomiast dla liczb 5, 70, 28, 42, 98, 1 odpowiedzią jest 70 (pierwsza liczba ciągu), 4 (długość ciągu) i 14 (największy wspólny dzielnik).

Odpowiedź dla pliku przyklad.txt: pierwsza liczba ciągu 90, długość 5, największy wspólny dzielnik 10.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 504 wizyt
pytanie zadane 27 stycznia 2020 w C i C++ przez Poczprogramista123 Bywalec (2,900 p.)
0 głosów
1 odpowiedź 189 wizyt
0 głosów
1 odpowiedź 459 wizyt
pytanie zadane 13 czerwca 2020 w C i C++ przez urbix01 Gaduła (3,290 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...