Zmodyfikuj elementy spełniające warunek

Zadanie 5 z 21 · rozdział 9Trudność: 1 z 3listywarunkiliczby pierwsze

Treść zadania

Wczytaj listę n liczb całkowitych. Wykonaj kolejno poniższe operacje — każda działa na liście otrzymanej w poprzednim podpunkcie (pierwsza na liście wczytanej). Po każdym podpunkcie wypisz aktualną listę.

a) Zwiększ o 1 elementy o parzystych indeksach ($0, 2, 4, \ldots$).
b) Ustaw na 0 elementy, które są wielokrotnościami liczby 3.
c) Podnieś do kwadratu elementy mniejsze od 10.
d) Oblicz sumę wszystkich elementów listy i wpisz ją w miejsce elementów o indeksach będących liczbami pierwszymi ($2, 3, 5, 7, 11, \ldots$).
e) Zamień każdy element na iloczyn wszystkich pozostałych elementów listy.

Dane wejściowe

  • 1. linia: liczba elementów n
  • 2. linia: n liczb całkowitych oddzielonych spacjami

Dane wyjściowe

Pięć linii — lista po podpunktach a), b), c), d), e), w formacie print(lista).

Ograniczenia

  • $n \ge 1$

Uwagi

  • Indeksy 0 i 1 nie są liczbami pierwszymi.
  • 0 (także po podpunkcie b) jest wielokrotnością liczby 3, a liczby ujemne są mniejsze od 10.
  • Dla listy jednoelementowej iloczyn „pozostałych” elementów w podpunkcie e) wynosi 1 (iloczyn pustego zbioru).
  • Jeśli w liście jest 0, wiele iloczynów w podpunkcie e) będzie równych 0 — to normalne.

Przykład

Wejście
4
1 4 2 5
Wyjście
[2, 4, 3, 5]
[2, 4, 0, 5]
[4, 16, 0, 25]
[4, 16, 45, 45]
[32400, 8100, 2880, 2880]

a) indeksy 0 i 2: 1 → 2, 2 → 3; b) 3 → 0; c) wszystkie elementy są mniejsze od 10; d) suma $4 + 16 + 0 + 25 = 45$ trafia na indeksy 2 i 3; e) np. dla indeksu 0: $16 \cdot 45 \cdot 45 = 32400$.

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 9

Zadania w tym rozdziale ćwiczą podstawowe operacje na listach: wczytywanie, przechodzenie pętlą, modyfikowanie elementów, wyszukiwanie i zliczanie.

Konwencje wspólne:

  • Każde zadanie (i każdy podpunkt) to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
  • Lista na wejściu zajmuje dwie linie: w 1. linii jest liczba elementów n, a w 2. linii — n liczb oddzielonych pojedynczymi spacjami. Dodatkowe dane (np. szukany klucz) są w kolejnych liniach, po jednej wartości w linii.
  • Taką listę wczytasz np. tak:
    ```python
    n = int(input())
    lista = [int(x) for x in input().split()]
    `
  • Gdy wynikiem jest lista, wypisz ją instrukcją print(lista). Python wypisze ją w nawiasach kwadratowych, z elementami oddzielonymi przecinkiem i spacją, np. [4, 10, 8]. Pusta lista to [].
  • Jeśli zadanie mówi „oddzielone spacją” — użyj pojedynczej spacji.
  • Indeksy elementów liczymy od 0.
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”.

Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.

Python uruchomi się w przeglądarce przy pierwszym teście.

Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.

Testy

Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.

Test 1

Nie uruchomiono
Wejście
1
5
Oczekiwane wyjście
[6]
[0]
[0]
[0]
[1]

Test 2

Nie uruchomiono
Wejście
4
2 4 6 8
Oczekiwane wyjście
[3, 4, 7, 8]
[0, 4, 7, 8]
[0, 16, 49, 64]
[0, 16, 129, 129]
[266256, 0, 0, 0]

Test 3

Nie uruchomiono
Wejście
6
-2 3 10 -5 1 12
Oczekiwane wyjście
[-1, 3, 11, -5, 2, 12]
[-1, 0, 11, -5, 2, 0]
[1, 0, 11, 25, 4, 0]
[1, 0, 41, 41, 4, 41]
[0, 275684, 0, 0, 0, 0]

Test 4

Nie uruchomiono
Wejście
5
1 1 1 1 1
Oczekiwane wyjście
[2, 1, 2, 1, 2]
[2, 1, 2, 1, 2]
[4, 1, 4, 1, 4]
[4, 1, 14, 14, 4]
[784, 3136, 224, 224, 784]

Test 5

Nie uruchomiono
Wejście
7
3 6 9 2 5 8 1
Oczekiwane wyjście
[4, 6, 10, 2, 6, 8, 2]
[4, 0, 10, 2, 0, 8, 2]
[16, 0, 10, 4, 0, 64, 4]
[16, 0, 98, 98, 0, 98, 4]
[0, 0, 0, 0, 0, 0, 0]
Uruchom z własnymi danymi