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:
3 CMSOKINTNSEARAI
Poprawną odpowiedzią jest wyjście:
CIEMNASTRONAKSI
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 :