|
|
back to boardWy WA on test , Please help me #include<iostream> #include<vector> #include<cmath> using namespace std; int main() { #ifndef ONLINE_JUDGE freopen("input.txt", "rt", stdin); freopen("output.txt", "wt", stdout); #endif int n,m,y; long double x; long double time; vector< long double >vec;
cin >> n >> m >> y; if( n <= 0 || n >= 999) exit(1); if( m <= 1 || m >= 999) exit(1); if( y <= 0 || y >= 99) exit(1); for( x = 0; x < m; x++) { time = pow(x, n); if( (unsigned long)time % m == y) vec.push_back(x); } if( vec.size() == 0) cout << "-1";
else { for( unsigned int i = 0; i < vec.size(); i++) { cout << vec[i] << " "; } } return 0; } Re: Wy WA on test , Please help me Don't use pow~ Actually, the result of pow can exceed your data type(long). tips. (A*A) mod m = (A mod m) * (A mod m) Edited by author 01.10.2009 11:32 Re: Wy WA on test , Please help me (A * A) mod m = ((A mod m) * (A mod m)) mod m |
|
|