L5. Power Exponentiation | Maths Playlist

Поділитися
Вставка
  • Опубліковано 16 бер 2024
  • Notes/Codes/Problem links under day 8 of A2Z DSA Course: takeuforward.org/strivers-a2z...
    Entire playlist: • Maths Playlist | Langu...
    Follow us on our other social media handles: linktr.ee/takeuforward

КОМЕНТАРІ • 38

  • @pardhi8959
    @pardhi8959 3 місяці тому +8

    This man is the top person in youtube to provide high quality content

  • @tusharmahajan7754
    @tusharmahajan7754 Місяць тому +1

    for overflow scenario's just use an unsigned right shift n>>>=1 is equal to n/2. why unsigned not signed right shift let say in case of number like -2147483648 if u take an abs it will -2147483648 same number again and then if you divide by 2 or signed right shift this number will be going forever negative, reason in signed right shift it replaces left vacated bits with 1 eventually you number will become -1111111....11111 in form of bits and forever loop, in this in case of unsigned right shift >>> it will fill vacated left values to zero so it will never overflow and eventually become 0 all the other code keep same make n = n/2 to n>>>=1 you will cover all cases :)

  • @trailblazer555
    @trailblazer555 16 днів тому +1

    I'm improving my logical thinking for problem solving by your teaching only.

  • @stith_pragya
    @stith_pragya 2 місяці тому +1

    UNDERSTOOD....Thank You So Much for this wonderful video................🙏🏻🙏🏻🙏🏻🙏🏻

  • @kunal7433
    @kunal7433 3 місяці тому +8

    Brother please next string playlist if possible 🙂

  • @studentchampion718
    @studentchampion718 2 місяці тому +2

    please also complete String Playlist.(This topic is more import for third college placement and it is more demanding topic for all guys.

  • @drishtirai864
    @drishtirai864 2 місяці тому +2

    For LEETCODE : (Covering all the Corner Cases)
    class Solution {
    public double myPow(double x, int n) {
    double ans = 1;
    double oriNum = n;
    if(x == 0 || x == 1) return x;
    if(n < 0){
    x = 1/x;
    n = -(n+1); //for Integer.MIN_VALUE
    ans = ans * x;
    }

    while(n > 0) {
    if(n % 2 == 1) {
    ans = ans * x;
    n = n-1;
    }
    else {
    n = n/2;
    x = x * x;
    }
    }
    return ans;
    }
    }

    • @clanguage7730
      @clanguage7730 Місяць тому

      int a,x; // a is base and x is power
      cin>>a>>x;
      int ans =1;

      while(x>0){
      if(x&1)ans = ans*a;
      a = a*a;
      x>>=1;
      }
      cout

  • @moneyonline5299
    @moneyonline5299 18 днів тому +1

    class Solution {
    public:
    double myPow(double x, int n) {
    int pow = abs(n);
    double ans = 1;
    while(pow > 0)
    {
    if(pow %2 == 0)
    {
    x=x*x;
    pow /=2;
    }
    else
    {
    ans *=x;
    pow = pow -1;
    }
    }
    if(n < 0)
    ans = 1/ans;

    return ans;
    }
    };

  • @reddygopichand2002
    @reddygopichand2002 3 місяці тому

    Understood ❤

  • @ArpitaChoudhury_00
    @ArpitaChoudhury_00 10 днів тому

    Thank_You✨

  • @AkshitChaudhary-vx8iw
    @AkshitChaudhary-vx8iw 3 місяці тому +1

    Here is the Code for the negative power : public static double pow(int x, int n) {
    // Handle negative exponent
    if (n < 0) {
    // Calculate positive exponent result
    return 1.0 / pow(x, -n);
    }

    int result = 1;
    while (n > 0) {
    if (n % 2 == 1) {
    result *= x;
    n--;
    } else {
    n /= 2;
    x *= x;
    }
    }

    return result;
    }

  • @abhinavnarula7300
    @abhinavnarula7300 3 місяці тому +1

    I have a small doubt, why does the last approach work, if someone can provide the intitution it will be super helpful.

  • @abhinanda7049
    @abhinanda7049 3 місяці тому

    understood

  • @dhruvvekariya2342
    @dhruvvekariya2342 3 місяці тому

    Can you discuss about corner case

  • @user-co9ir1wg6y
    @user-co9ir1wg6y Місяць тому

    Understood

  • @AkshitChaudhary-vx8iw
    @AkshitChaudhary-vx8iw 3 місяці тому

    @striver Code will not work for negative power! BTW Thanks sir for the video❤

  • @Adarsh_agrahari
    @Adarsh_agrahari 2 місяці тому

    ❤❤

  • @hritikminmuley1397
    @hritikminmuley1397 3 місяці тому

    // for posititve/negative powers
    public static double exponent(int x, int n) {
    double ans = 1;
    int m = n;
    if(n 0) {
    if (n % 2 == 1) {
    ans = ans * x;
    n = n - 1;
    } else {
    n = n / 2;
    x = x * x;
    }
    }
    if(m

    • @ryuu5768
      @ryuu5768 3 місяці тому

      bro isme int overflow hoga if we multiply n*-1

    • @hritikminmuley1397
      @hritikminmuley1397 3 місяці тому

      @@ryuu5768 That is for converting the power to positive.

    • @ryuu5768
      @ryuu5768 3 місяці тому

      @@hritikminmuley1397 hn but wo out of int limit hojyega for a test case for n=-214........ Something

  • @ryuu5768
    @ryuu5768 3 місяці тому

    Bhai wahi if negative interger h to -2147 ..... P positive krne p int flow hora

  • @sysfailureexe6038
    @sysfailureexe6038 Місяць тому

    US

  • @deepalikumari5319
    @deepalikumari5319 3 місяці тому +1

    Code for Negative powers is not running.please help

    • @AkshitChaudhary-vx8iw
      @AkshitChaudhary-vx8iw 3 місяці тому

      yes because our while will never run because n is negative so our code will simply return 1/ ans (which is 1);

    • @deepalikumari5319
      @deepalikumari5319 3 місяці тому

      @@AkshitChaudhary-vx8iw how can we fix it?

    • @bishalkundu7592
      @bishalkundu7592 3 місяці тому

      @@deepalikumari5319 return 1 / pow(x, -n)

    • @Manish-rr3nc
      @Manish-rr3nc 10 днів тому

      Bhai code kaha hai striver A - Z sheet mein lec 4 mein toh nhi dikh raha please batado

    • @AkshitChaudhary-vx8iw
      @AkshitChaudhary-vx8iw 10 днів тому

      Here is the Code for the negative power : public static double pow(int x, int n) {
      // Handle negative exponent
      if (n < 0) {
      // Calculate positive exponent result
      return 1.0 / pow(x, -n);
      }

      int result = 1;
      while (n > 0) {
      if (n % 2 == 1) {
      result *= x;
      n--;
      } else {
      n /= 2;
      x *= x;
      }
      }

      return result;
      }

  • @chiragbansod8252
    @chiragbansod8252 3 місяці тому

    understood

  • @hardikpatel352
    @hardikpatel352 9 днів тому

    understood

  • @shaiksoofi3741
    @shaiksoofi3741 7 днів тому

    understood

  • @havefunwithshort
    @havefunwithshort 18 годин тому

    understood