• 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

VPS Starter Arubacloud
0 głosów
230 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 532 wizyt
pytanie zadane 27 stycznia 2020 w C i C++ przez Poczprogramista123 Bywalec (2,900 p.)
0 głosów
1 odpowiedź 195 wizyt
0 głosów
1 odpowiedź 518 wizyt
pytanie zadane 13 czerwca 2020 w C i C++ przez urbix01 Gaduła (3,290 p.)

92,770 zapytań

141,695 odpowiedzi

320,518 komentarzy

62,107 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

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!

...