Code Forces 833 A El juego sin sentido (pensamiento, matemáticas)

Code Forces 833 A El juego sin sentido

Asunto

Hay dos personas jugando, cada ronda da un número natural k, la persona ganadora multiplica k ^ 2, la persona perdedora multiplica k, da el puntaje de las últimas dos personas, pregunta si dos personas pueden alcanzar este puntaje

Tengo que escupir un largo título en inglés, solo se traduce una oración ...

solución

Un par también quieren un buen
producto para determinar si se debe abrir un factor de dos números cúbicos
y si es así, evidentemente, no es cierto
o puede ser la salida Sí

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#define int long long
using namespace std;

inline int read(){
    int x = 0, w = 1;
    char ch = getchar();
    for(; ch > '9' || ch < '0'; ch = getchar()) if(ch == '-') w = -1;
    for(; ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';
    return x * w;
}

signed main(){
    int n = read();
    while(n--){
        int a = read(), b = read();
        int tmp = a * b;
        // int awsl = pow(tmp, (1.0 / 3)) + 0.5;
        int awsl = cbrt((double)a*(double)b);//在网上找到了这个开三次方的函数,啧啧
        if(awsl * awsl * awsl != tmp || a % awsl || b % awsl) cout << "No" << endl;
        else cout << "Yes" << endl;
    }
    return 0;
}

Supongo que te gusta

Origin www.cnblogs.com/rui-4825/p/12743737.html
Recomendado
Clasificación