您的位置:首页 > 其它

UVa 113|Power of Cryptography|牛顿迭代法|pow函数的应用

2017-10-05 23:28 411 查看

题目

现代密码学的工作涉及大素数和计算数的乘方的大素数模等。这个领域已经产生了很多数论其他数学分支的实际应用(很多以前仅仅是理论推导,没有实际运用的例子)

本题要求快速地计算整数p(1≤p≤10101)的正n(1≤n≤200)次方根,保证结果一定是整数。

输入

输入包含多组数据,每组数据第一行一个整数n,第二行一个整数p。

输出

对于每组数据,输出p√n

样例输入

2
16
3
27
7
4357186184021382204544


样例输出

4
3
1234


题解

显然可以牛顿迭代法解决。

但是本题的话。。

#include <cstdio>
#include <cmath>

int main() {
double n, p;
while (scanf("%lf%lf", &n, &p) == 2) {
printf("%.0lf\n", pow(p, 1 / n));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: