Модуларни инверз
vreme | memorija | ulaz | izlaz |
---|---|---|---|
0,1 s | 64 Mb | standardni izlaz | standardni ulaz |
Миле и Тања морају да размене тајне поруке које се састоје од пуно великих бројева. Миле је желео да се додатно заштити и да те бројеве пре слања измени тако што је сваки број помножио тајним бројем a и израчунао остатак при дељењу са тајним бројем n. Пошто је добар математичар, Миле зна да ће Тања лако моћи да дешифрује поруку ако зна бројеве a и n и ако су они узајамно прости и зато их је изабрао баш на тај начин и унапред их је договорио са Тањом. Напиши програм који Тањи помаже да дешифрује бројеве које јој је Миле послао.
Улаз
Са стандардног улаза се уносе бројеви a и n (2≤a,n≤109), за које се зна да су узајамно прости. Након тога уносе се бројеви xi (0≤xi<n), њих највише 10, сваки у посебном реду све до краја стандардног улаза, који представљају бројеве које је Миле добио након шифровања оригиналних бројева.
Излаз
На стандардни излаз исписати оригиналне (дешифроване) бројеве, сваки у посебном реду.
Пример
Улаз
3 5 1 2 3 4
Излаз
2 4 1 3
Објашњење
Заиста, важи да је (3⋅2)mod5=6mod5=1, (3⋅4)mod5=12mod5=2, (3⋅1)mod5=3mod5=3 и (3⋅3)mod5=9mod5=4.
Morate biti ulogovani kako biste poslali zadatak na evaluaciju.