miércoles, 8 de abril de 2015

solucion 113 El poder de la criptografia


/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package UVA_Pendientes;

import java.math.BigInteger;
import java.util.Scanner;

/**
 *
 * @author DAM116
 */
 public class UVA00113_PowefOfCrytografy {

    public static void main(String[] args) {

        Scanner entrada = new Scanner(System.in);
        int exp;
        BigInteger base;

        while (entrada.hasNext()) {
            exp = entrada.nextInt();
            base = entrada.nextBigInteger();
            System.out.println(Math.round(Math.pow(base.doubleValue(), (double)1/exp)));
        }
    }
}

enunciado 113 El poder de la criptografia


 El trabajo actual en la criptografía implica (entre otras cosas) grandes números primos y cálculo de potencias de números modulo funciones de estos números primos. El trabajo en esta área se ha traducido en la utilización práctica de los resultados de la teoría de números y otras ramas de las matemáticas, una vez que se consideran de interés sólo teórico.
Este problema está relacionado con el cómputo eficiente de las raíces enteras de números.
Dado un número entero   (n>=1) y un entero   (p>=1) usted es escribir un programa que determina (raíz n de p), lo positivo  raíz de p . En este problema, dado tales enteros n y p , p siempre será de la forma (k^n) de un número entero k (este entero es lo que el programa debe encontrar).
La entrada consiste en una secuencia de pares de números enteros n y p con cada número entero en una línea por sí mismo. Para todos los pares ,  (1<=n<=200,1<=p<=10^101)y existe un entero k ,  (1<=k<=10^9)tal que (k^n=p=).
Para cada par de enteros n y p el valor  debe ser impreso, es decir, el número k de tal manera que .
2
16
 3
27
7
4357186184021382204544
4
3
1234