Każdej z wielkich liter angielskiego alfabetu przyporządkowany jest kod ASCII, będący liczbą naturalną z zakresu 65..90.
Dany jest następujący algorytm szyfrujący szyfrem skokowym:
DANE: n — długość tekstu s[1..n] — tablica n znaków zawierająca tekst jawny k - liczba naturalna WYNIK: kryptogram tekstu jawnego s ALGORYTM: 1. m:=n div k (dzielenie całkowite) 2. Jeżeli n mod k<>0, to: m:=m+1 (reszta z dzielenia) 3. Dla i=1,2,…,m wykonuj: a) j:=i b) dopóki j<=n wykonuj: - wypisz s[j] - j:=j+m
Powyższy algorytm dzieli tekst w taki sposób jakby wpisywał go do prostokątnej tablicy o k wierszach - wyliczona liczba m jest ilością kolumn tej tablicy (tekst wpisywany jest do tablicy wierszami od góry, od wiersza numer 1).
Pętla w punkcie 3. przebiega po znakach pierwszego wiersza tej tablicy (jest m kolumn), zaś pętla w punkcie 3.b) wypisuje wszystkie znaki w całej kolumnie - zmiana indeksu j o wartość m, czyli ilość znaków w całym wierszu.
W wyniku działania algorytmu uzyskujemy taki efekt jakbyśmy wpisali tekst do tablicy wierszami, a wypisali go kolumnami.
Napisz program, który zaszyfruje podany tekst szyfrem skokowym.
Pierwszy wiersz wejścia zawiera liczbę całkowitą k z
zakresu 1..10.
W wierszu drugim zapisano tekst jawny s zawierający wyłącznie wielkie
litery, o maksymalnej długości 15 znaków.
Wyznaczony kryptogram tekstu jawny s.
Dla danych podanych na wejściu:
6 KAURRPOOILLLKKK
Poprawną odpowiedzią jest wyjście:
KROLKAROLKUPILK
Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5
Opcje zadania:
Biblioteki : iostream iomanip cmath string Limit czasu : 0.1 s Limit pamięci : 32 MB Słowa niedozwolone :