Tabliczka mnożenia N × N

Zadanie 4 z 9 · rozdział 8Trudność: 2 z 3pętle zagnieżdżoneformatowaniearytmetyka

Treść zadania

Wczytaj liczbę naturalną N i wypisz tabliczkę mnożenia o wymiarach N × N: w wierszu i i kolumnie j (licząc od 1) ma znaleźć się iloczyn $i \cdot j$.

Aby kolumny tworzyły równą tabelę, każdą liczbę wyrównaj do prawej w polu o szerokości w, gdzie w to liczba cyfr największej liczby w tabeli, czyli w = len(str(N * N)). Kolejne pola w wierszu oddzielaj pojedynczą spacją.

Dane wejściowe

  • 1. linia: N — liczba naturalna (N ≥ 1)

Dane wyjściowe

N linii; w każdej N pól o szerokości w (liczba wyrównana do prawej, z lewej uzupełniona spacjami), oddzielonych pojedynczą spacją.

Ograniczenia

  • 1 ≤ N ≤ 30

Uwagi

  • Zapis f"{x:>{w}}" w f-stringu wypisuje x wyrównane do prawej (>) w polu o szerokości w znaków; brakujące miejsca są uzupełniane spacjami z lewej. Na przykład f"{7:>3}" daje " 7", a f"{123:>3}" daje "123".
  • len(str(x)) to liczba cyfr liczby naturalnej x, np. len(str(144)) wynosi 3.
  • Spacje na początku wiersza są istotne. Nie dodawaj spacji na końcu wiersza.

Przykład

Wejście
4
Wyjście
 1  2  3  4
 2  4  6  8
 3  6  9 12
 4  8 12 16

Największa liczba to 16, więc w = 2: liczby jednocyfrowe są poprzedzone dodatkową spacją.

Zasady obowiązujące w rozdziale 8

Zadania w tym rozdziale ćwiczą pętle zagnieżdżone: pętla zewnętrzna przechodzi po wierszach, a wewnętrzna po kolumnach. W ten sposób rysujemy figury ze znaków, budujemy tabele liczb i przeszukujemy kolejne liczby.

Konwencje wspólne:

  • Każde zadanie to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
  • Program nie wypisuje komunikatów typu „Podaj n:”. Tekst podany w input("…") jest ignorowany przez sprawdzarkę.
  • Każdy wiersz figury lub tabeli wypisz w osobnej linii.
  • W rysunkach spacje na początku i w środku wiersza są istotne. Spacje na końcu wiersza są ignorowane przez sprawdzarkę, więc nie musisz ich wypisywać.

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
Oczekiwane wyjście
1

Test 2

Nie uruchomiono
Wejście
3
Oczekiwane wyjście
1 2 3
2 4 6
3 6 9

Test 3

Nie uruchomiono
Wejście
5
Oczekiwane wyjście
 1  2  3  4  5
 2  4  6  8 10
 3  6  9 12 15
 4  8 12 16 20
 5 10 15 20 25

Test 4

Nie uruchomiono
Wejście
10
Oczekiwane wyjście
  1   2   3   4   5   6   7   8   9  10
  2   4   6   8  10  12  14  16  18  20
  3   6   9  12  15  18  21  24  27  30
  4   8  12  16  20  24  28  32  36  40
  5  10  15  20  25  30  35  40  45  50
  6  12  18  24  30  36  42  48  54  60
  7  14  21  28  35  42  49  56  63  70
  8  16  24  32  40  48  56  64  72  80
  9  18  27  36  45  54  63  72  81  90
 10  20  30  40  50  60  70  80  90 100

Test 5

Nie uruchomiono
Wejście
12
Oczekiwane wyjście
  1   2   3   4   5   6   7   8   9  10  11  12
  2   4   6   8  10  12  14  16  18  20  22  24
  3   6   9  12  15  18  21  24  27  30  33  36
  4   8  12  16  20  24  28  32  36  40  44  48
  5  10  15  20  25  30  35  40  45  50  55  60
  6  12  18  24  30  36  42  48  54  60  66  72
  7  14  21  28  35  42  49  56  63  70  77  84
  8  16  24  32  40  48  56  64  72  80  88  96
  9  18  27  36  45  54  63  72  81  90  99 108
 10  20  30  40  50  60  70  80  90 100 110 120
 11  22  33  44  55  66  77  88  99 110 121 132
 12  24  36  48  60  72  84  96 108 120 132 144
Uruchom z własnymi danymi