十进制转k进制

整数部分,不断做除法,并取余数,最后倒置。

小数部分,不断做乘法,并取出整数部分。

例题 AcWing 4484. 有限小数

复制代码
#include<bits/stdc++.h>
using namespace std;

typedef long long LL;
LL GCD(LL a,LL b)
{
    if(a%b==0) return b;
    return GCD(b,a%b);
}

int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        LL a,b,c;
        cin>>a>>b>>c;
        LL gcd=GCD(a,b);
        a/=gcd;b/=gcd;
        
        gcd=GCD(b,c);
        while(gcd!=1)
        {
            while(b/gcd*gcd==b)
                b/=gcd;
            gcd=GCD(b,c);
        }
        if(b==1) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
}
View Code
复制代码

 

posted @   80k  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示