poj2109 Power of Cryptography 二分

时间:2023-02-02 14:57:31

POJ挂掉了,然后去ZOJ上。记得uva上有这题,直接pow水过,后来崔老师说用二分也可以写。

ZOJ上我写的TLE= =...崔老师WA= =。。。

目测不到哪里有错= =。。。做的POJ开封。

二分代码

poj2109 Power of Cryptography 二分poj2109 Power of Cryptography 二分View Code
 1 #include<iostream>
 2 #include<math.h>
 3 #include <stdio.h>
 4 #define eps 0.0000000001
 5 using namespace std;
 6 
 7 void div(double n,double k)
 8 {
 9     long long l,r,mid;
10     l = 0;
11     r = 1000000010;
12     while(l < r)
13     {
14         mid = (l+r)/2;
15         if(pow(mid,n) > k)
16         r = mid;
17         else if(pow(mid,n) < k)
18         l = mid;
19         else
20         {
21             cout<<mid<<endl;
22             break;
23         }
24     }
25 }
26  int main(void)
27  {
28      double n,k;
29      while(cin>>n>>k)
30      {
31          div(n,k);
32      }
33      return 0;
34  }

直接AC代码

poj2109 Power of Cryptography 二分poj2109 Power of Cryptography 二分View Code
 1 #include <iostream>
 2 #include <math.h>
 3  using namespace std;
 4 
 5 
 6  int main()
 7  {
 8      double n,p;
 9      while(cin>>n>>p)
10          cout<<pow(p,1.0/n)<<endl;
11      return 0;
12  }