Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Odwrotność modularna

Ostatnio zmodyfikowano 2018-03-27 11:06
Autor Wiadomość
LeoBamboleo
Temat założony przez niniejszego użytkownika
Odwrotność modularna
» 2018-03-24 01:08:14
Dla każdej podanej pary (x,p) znajdź odwrotność x modulo p. W tym zadaniu p jest na pewno pierwsze.
Wejście
W pierwszej linii znajduje się ilość testów T. Każdy test jest opisywany przez parę liczb (x,p), których znaczenie jest jak wyżej.
1 ≤ x < p, 2 ≤ p ≤ 2*109
Wyjście
Wypisz T odpowiednich liczb.
Przykład
Dla danych wejściowych
3
1 2
3 7
5 23
poprawną odpowiedzią jest
1
5
14


C/C++
#include<iostream>
using namespace std;

int x, y;
void euklides( int a, int b )
{
    if( b != 0 )
    {
        euklides( b, a % b );
        int pom = y;
        y = x - a / b * y;
        x = pom;
    }
}
int main()
{
    int a, b, n;
    cin >> n;
    int tab[ n ];
   
    for( int i = 0; i < n; i++ )
    {
        x = 1, y = 0;
        cin >> a >> b;
        euklides( a, b );
        if( x < 0 )
             tab[ i ] = x + b;
        else
             tab[ i ] = x;
       
    }
    for( int j = 0; j < n; j++ )
         cout << tab[ j ] << endl;
   
}


Dla dwóch wejść generowanych przez stronke wyrzuca "seg. fault'. Reszta śmiga, o co chodzi ?
P-170193
pekfos
» 2018-03-24 12:19:50
Ta tablica nie jest do niczego potrzebna. Jest też błędnie utworzona, więc najlepiej ją w ogóle wywal.
P-170205
LeoBamboleo
Temat założony przez niniejszego użytkownika
» 2018-03-24 19:59:34
A jak przechować wyniki, a potem je wyświetlić ? ;/
P-170222
pekfos
» 2018-03-24 20:31:09
Wyświetlaj od razu, nie ma po co tego przechowywać.
P-170227
LeoBamboleo
Temat założony przez niniejszego użytkownika
» 2018-03-24 20:36:13
wtedy odpowiedzi są błędne...
P-170228
LeoBamboleo
Temat założony przez niniejszego użytkownika
» 2018-03-26 00:30:34
ktoś coś ;/?
P-170250
pekfos
» 2018-03-26 00:38:47
Jak wygląda kod?
P-170251
darko202
» 2018-03-26 13:40:49
1.
Algorytm Euklidesa służy do wyznaczania największego wspólnego dzielnika.
http://www.algorytm.edu.pl​/algorytmy-maturalne​/algorytm-eulkidesa.html

2.
element odwrotny nie ma większego związku z największym wspólnym dzielnikiem
https://pl.khanacademy.org​/computing/computer-science​/cryptography/modarithmetic/a​/modular-inverses

3.
Reszta śmiga
funkcja  void euklides( int a, int b ) nic nie zwraca/zmienia
a w main nic związanego z tematem nie obliczasz
dlatego ww. cytat to życzenie, a nie fakt o którym możemy dyskutować 

4.
przeczytaj
http://cpp0x.pl/kursy/Kurs-C++​/1
lekcja 20, 24

P-170257
« 1 » 2
  Strona 1 z 2 Następna strona