判断两个数是否互质即可。
设x为走的步数,m为间距,则需要判断 x * m % n 是否可以充满0到n - 1的闭区间。
互质的话,存在逆元,所以一定可以。
1 #include <iostream> 2 using namespace std; 3 4 int gcd( int x, int y ) 5 { 6 return y ? gcd( y, x % y ) : x; 7 } 8 9 int main() 10 { 11 int a, b; 12 while ( cin >> a >> b ) 13 { 14 if ( a == -1 && b == -1 ) break; 15 cout << ( gcd( a, b ) == 1 ? "YES" : "POOR Haha" ) << endl; 16 } 17 return 0; 18 }
时间: 2024-11-10 05:00:37