mam taki kod:
Kod: Zaznacz cały
#include <iostream>
using namespace std;
int main()
{
unsigned int y, t, temp;
cin >> t;
unsigned int x[t+1], n[t+1], p[t+1];
unsigned int tab[101]; // <- tu był błąd, powinno być 100001
for(int i=0;i<t;i++)
{
cin >> temp; x[i] = temp;
cin >> temp; n[i] = temp;
cin >> temp; p[i] = temp;
}
for(int i=0, j=0;i<t;i++)
{
if(n[i] < 1) {cout << 1 << endl; continue;} // gdy wykladnik = 0
y = tab[1] = x[i]%p[i];
for(j=2;j<=n[i];j++)
{
tab[j] = (tab[j-1]*x[i])%p[i];
//cout << j << ": " << tab[j] << endl;
if(tab[1] == tab[j])
{
y = n[i]%(j-1);
if(!y) y = tab[j-1];
else y = tab[y];
break;
}
y = tab[j];
}
cout << y << endl;
}
system("pause");
}
//Rozgryzłem.
Pozdrawiam