最大公约数应用(数学)
思路:思路:m和n如果有公约数,则安全洞存在,无公约数或公约数为1,则无
1 # include <stdio.h> 2 typedef long long LL; 3 4 LL gcd(LL m, LL n) 5 { 6 if(m<n) 7 { 8 int t = m; 9 m = n; 10 n = t; 11 } 12 while (n != 0) 13 { 14 int r = m % n; 15 m = n; 16 n = r; 17 } 18 return m; 19 } 20 21 void run() 22 { 23 int p, n, m; 24 scanf("%d", &p); 25 while(p--) 26 { 27 scanf("%d%d", &m, &n); 28 if(m == 1) 29 { 30 printf("NO\n"); 31 } 32 else if(gcd(m, n) == 1) 33 { 34 printf("NO\n"); 35 } 36 else 37 { 38 printf("YES\n"); 39 } 40 } 41 } 42 43 int main(void) 44 { 45 run(); 46 47 return 0; 48 }
PS: a和b最小公倍数:a * b / gcd(a, b)