zoukankan      html  css  js  c++  java
  • C. The Meaningless Game

    C. The Meaningless Game

    题目链接

    题意

    给你两个数,开始都为1,然后每轮可以任选一个k,一边可以乘以(k),另一边乘以(k^2),然后问你最终是否可以得到所给的两个数a,b;

    思路

    (a×b = t^3),二分是否存在(t),如果不存在肯定不可以,如果存在,那么要保证a中有t中所有的因子,b中也是,那么就是$ amodt==0 and bmodt == 0(,因为)t = k1k2...kn(,那么)a(中要么是)k1^2(要么是)k1(,同理)b$

    代码

    #include<bits/stdc++.h>
    #define N 100005
    using namespace std;
    typedef long long LL;
    LL gcd(LL n,LL m);
    int main(void)
    {
        int T;
        scanf("%d",&T);
        while(T--)
        {
            LL a,b;
            scanf("%lld %lld",&a,&b);
            LL c = a*b;
            LL l = 0,r = 1000000;
            LL id;
            while(l <= r)
            {
                LL mid = (l+r)/(LL)2;
                if(mid*mid*mid <= a*b)
                {
                    l = mid + 1;
                    id = mid;
                }
                else r = mid - 1;
            }
            if(id*id*id != a*b)
            {
                printf("No
    ");
            }
            else
            {   //aprintf("%d
    ",id);
                if(!(a%id)&&!(b%id))
                    printf("Yes
    ");
                else printf("No
    ");
            }
        }
        return 0;
    }
    LL gcd(LL n,LL m)
    {
        if(m == 0)
            return n;
        else return gcd(m,n%m);
    }
    
  • 相关阅读:
    正则表达式(二)
    HTTP状态码
    ajax(局部刷新技术)
    day03<JS对象&函数>
    day02<CSS&JavaScript>
    day01<HTML等>
    总结:HTML表单的应用
    总结:HTML的框架结构
    九、浮动与定位
    八、CSS高级技巧
  • 原文地址:https://www.cnblogs.com/zzuli2sjy/p/7266051.html
Copyright © 2011-2022 走看看