zoukankan      html  css  js  c++  java
  • 牛客 模

    题意:

    给定四个整数a, b, c, k, 回答是否存在一个正整数n,使得a * n 在k进制表示下各位的数值之和模b为c

    思路:

    现x因n可无限大,抽象的理解,在无限且无进位的空间,只有一位答案为a*x,但是由于进位(k进1),带来的影响是(i - k),所以a * x + b * y + z * (1 - k) = c有解(即c % gcd(a, b, (1 - k)) == 0)即可

    Code:

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    typedef long long ll;
    
    int t;
    ll a, b, c, k, n;
    
    ll gcd(ll a, ll b){
        return b ? gcd(b, a % b) : a;
    }
    
    int main(){
        cin >> t;
        while(t --){
            cin >> a >> b >> c >> k;
            if(c % gcd(gcd(a, 1 - k), b)){
                cout << "No
    ";
            }
            else{
                cout << "Yes
    ";
            }
        }
        return 0;
    }
  • 相关阅读:
    构建之法阅读笔记
    人月神话阅读笔记
    人月神话阅读笔记2
    人月神话阅读笔记
    第十周总结
    第九周总结
    进度日报10
    进度日报8
    进度日报7
    进度日报6
  • 原文地址:https://www.cnblogs.com/jungu/p/13387320.html
Copyright © 2011-2022 走看看