Time Limit: 1000MS | Memory Limit: 30000K | |
Total Submissions: 24345 | Accepted: 12246 |
Description
This problem involves the efficient computation of integer roots of numbers.
Given an integer n>=1 and an integer p>= 1 you have to write a program that determines the n th positive root of p. In this problem, given such integers n and p, p will always be of the form k to the nth. power, for an integer k (this integer is what your program must find).
Input
Output
Sample Input
2 16 3 27 7 4357186184021382204544
Sample Output
4 3 1234 題目大意:給出n和p,k的n次方等於p,求k的值。 解題思路:要注意的就是精度問題。本題可以將公式變換爲k=p^(1/n),直接用pow函數就可以。
#include
#include
#include
using namespace std;
int main(){
double n,p,k;
while(scanf("%lf %lf",&n,&p)!=EOF){
k=(double)pow(p,1.0/n);
printf("%.0lf\n",k);
}
}