真 · MnZn 求助
  • 板块学术版
  • 楼主A_zjzj
  • 当前回复6
  • 已保存回复6
  • 发布时间2021/7/28 22:03
  • 上次更新2023/11/4 12:48:53
查看原帖
真 · MnZn 求助
263082
A_zjzj楼主2021/7/28 22:03

原题链接 POJ2109

题目大意:给你 n,pn,p,求 pn,1p10101,1n200,1pn109\sqrt[n]{p},1\le p\le10^{101},1\le n\le200,1\le\sqrt[n]{p}\le10^9

本蒟蒻先写了一个二分加快速幂加高精度的算法,但是一直 WA,然后查了一下 double 的范围是正负 1030810^{308} 多,所以试了试 powpow 直接开 nn 次根号,然后成功WA了。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
double n,p;
int get(){
	printf("%.0lf\n",pow(p,1/n));
	return 0;
}
int main(){
	while(~scanf("%lf%lf",&n,&p))get();
	return 0;
}
//WA

然后实在没办法,看看 cin 碰碰运气,然后就过了

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<iostream>
using namespace std;
double n,p;
int get(){
	cout<<pow(p,1/n)<<endl;
	return 0;
}
int main(){
	while(cin>>n>>p)get();
	return 0;
}
//AC

求大佬解释QWQ

2021/7/28 22:03
加载中...