【数论和基础数学】整除和取余-取石子游戏

取石子游戏

在这里插入图片描述

【数论和基础数学】整除和取余-取石子游戏_第1张图片

【数论和基础数学】整除和取余-取石子游戏_第2张图片

#include
using namespace std;
int gcd(int a, int b){
    if(b == 0){
        return a;
    }
    return gcd(b, a%b);
}
void Judge(int gcdd, int n){
    int num;
    // 判断有几个最大公约数的倍数
    for(int i = gcdd; i <= n; i++){
        if(i % gcdd == 0){
            num++;
        }
    }
    // 判断次数
    if(num % 2 == 0){cout << "suantou" << endl;}
    if(num % 2 != 0){cout << "huaye" << endl;}
}
int main(){
    int t;
    scanf("%d", &t);
    while(t--){
        int n, a, b;
        scanf("%d %d %d", &n, &a, &b);
        int gcdd = gcd(a, b);
        Judge(gcdd, n);
    }
    return 0;
}

你可能感兴趣的:(为预推免)