题目链接:UVa 113 - Power of Cryptography
这题挺没意思的,勉强也算是高精度吧,double范围-1.7*10^(-308) ~ 1.7*10^308,这题目的p没超过范围。
我在这题中发现了另一个问题,使用cout输出double型数据,如果那个double数据超过一定长度,那么cout输出的是用科学计数法表示的,而printf("%.lf\n",a)不会,所以这个题输出必须得用printf。%lf是双精度,%f是单精度,头文件是stdio.h。
#include <iostream>
#include <cmath>
#include <stdio.h>
using namespace std;
int main()
{
double n;
double p;
double temp;
while(cin>>n>>p)
{
temp = pow(p,1/n);
printf("%.lf\n",temp);
}
return 0;
}