W szyfrze kolumnowym jako klucza używa się permutacji pewnego n elementowego zbioru postaci {1,2,3,...,n}.
Istnieje wiele metod wygenerowania dowolnej permutacji takiego zbioru. Można posłużyć się tutaj zarówno liczbami pseudolosowymi, jak równiez z góry ustaloną funkcją o nieznanych parametrach czy współczynnikach. W poniższym przykładzie użyta jest funkcja f(n)=an2+b, gdzie a i b są liczbami naturalnymi.
DANE: n - ilość elementów zbioru a, b - współczynniki funkcji WYNIK: tablica t[1..n] zawierająca permutację zbioru {1,2,3,...,n} ALGORYTM: 1. k:=n 2. Wpisz do tablicy t do kolejnych komórek liczby od 1 do k. 3. Dopóki k>1 wykonuj: a.) wyznacz komórkę tablicy: i:=1+(f(k) mod k) b.) zamień w tablicy t miejscami liczby na pozycjach i i k c.) zmniejsz o jeden k
Napisz program, który wyznaczy permutację zbioru w podany powyżej sposób.
Pierwszy wiersz wejścia zawiera liczby całkowite n, a i b z zakresu 1..10.
Permutacja zbioru {1,2,...,n}, bez spacji na końcu linii.
Dla danych podanych na wejściu:
4 2 1
Poprawną odpowiedzią jest wyjście:
1 3 4 2
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 :