Sprawdź się
Zadanie 3. Jubiler
Pan Srebrny prowadzi firmę jubilerską zajmującą się produkcją naszyjników i pierścionków z najwyższej klasy surowców. Typy wyrobów oznaczane są liczbami od 1 do 9, a każda liczba oznaczająca typ wyrobu szyfrowana jest z użyciem algorytmu RSA.
Aby pan Srebrny mógł przeprowadzić spis utworzonych produktów, udostępniono mu dwie liczby pierwsze: p
i q
, na podstawie których wyznaczono klucz prywatny i klucz publiczny szyfru. Liczba p
wynosi 3, a liczba q
wynosi 7.
Zaszyfrowane liczby będące oznaczeniami produktów zapisane są w pliku bizuteria.txt
, każda liczba w osobnym wierszu.
Plik bizuteria.txt
zawiera 500 wierszy zawierających liczby naturalne z przedziału . Każda liczba to zaszyfrowane oznaczenie produktu.
Wyznacz klucz prywatny na podstawie podanych liczb pierwszych oraz sprawdź, ile zostało wyprodukowanych wyrobów o oznaczeniach 2 i 5. Zapisz te wartości (dwie liczby stanowiące klucz prywatny, liczbę wyprodukowanych produktów o oznaczeniach 2, liczbę wyprodukowanych produktów o oznaczeniach 5) w pliku wyniki.txt
, rozdzielając je pojedynczym znakiem odstępu.
Dla danych:
oraz:
plik wynikowy miałby następującą postać:
Napisz program, który wyznaczy klucz prywatny z użyciem podanych liczb pierwszych, a następnie wypisze, ile produktów z oznaczeniami 2 i 5 znajdowało się na liście.
Do oceny oddajesz:
plik
wyniki.txt
zawierający odpowiedź (cztery liczby naturalne oddzielone od siebie spacją; dwie pierwsze liczby to klucz prywatny; dwie kolejne to liczba wystąpień produktów o podanych numerach porządkowych),plik(i) z komputerową realizacją zadania (kodem programu).
Plik wejściowy bizuteria.txt
zawierający zaszyfrowane oznaczenia produktów znajduje się w załączniku:
Napisz program w wybranym języku programowania, a następnie sprawdź poprawność jego działania dla danych podanych w pliku bizuteria.txt
.
Odpowiedź do zadania dla pliku bizuteria.txt
znajduje się pod sekcją ćwiczeń.
Przetestuj działanie programu dla następujących produktów:
oraz wartości liczb pierwszych p = 3
i q = 7
. Oblicz, ile zostało wyprodukowanych produktów o oznaczeniach 2 oraz 5.
JĘZYK C++
JĘZYK JAVA
JĘZYK PYTHON
Odpowiedź
Odpowiedź do zadania dla danych zawartych w pliku bizuteria.txt
: