fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long mul(long x,int n){
  4. long res=1;
  5. long base=x;
  6. while(n>0){
  7. if(n%2!=0){
  8. res*=base;
  9. n--;
  10. }else{
  11. base*=base;
  12. n/=2;
  13. }
  14. }
  15. return res;
  16. }
  17.  
  18. int nr(int n,int m){
  19. int l=0,r=m;
  20. while(l<=r){
  21. int mid=(l+r)/2;
  22. long p=mul(mid,n);
  23. if(p==m)
  24. return mid;
  25. if(p<m)
  26. l=mid+1;
  27. else
  28. r=mid-1;
  29. }
  30. return -1;
  31. }
  32.  
  33. int main(){
  34. int m=100,n=2;
  35. cout<<nr(n,m);
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
10