Recursion (Solved Problem 1)

Поділитися
Вставка
  • Опубліковано 11 гру 2024

КОМЕНТАРІ • 149

  • @ojaskumar2355
    @ojaskumar2355 3 роки тому +18

    This que is so looking so interesting... For now I didn't get the concept... Will definitely return to this que after getting some more concept about recursion 🙂

  • @MeteorSky41
    @MeteorSky41 3 роки тому +4

    Guys watch it again to understand..
    And for if(n

  • @Hiyori___
    @Hiyori___ 3 роки тому +43

    the tree makes sense but I cannot possibly understand the concept behind it. I'll come back to this when I'll have better knowledge

  • @krishpatil9609
    @krishpatil9609 4 роки тому +25

    After get(0) -->if(0True-->return-->
    control goes to
    *get(1)*---->> then get(n-3)=get(-2) and then if(-2True-->return to get(-2)
    And then evaluate print(n)
    ------->>>>here n=1 hence will be printed..
    Then control shifts to
    *get(2)*---->>get(2-3)=get(-1) then control will shift to if(-1>True-->>return-->get(-1)
    Then printf will get evaluated and hence will print
    n=2
    Then control shifts to
    *get(3)*--->>get(3-3)=get(0)-->>
    if(0True-->return to get(0)
    Evaluate printf
    n=3
    Now control transfers to
    *get(4)*--->>get(4-3)=get(1)-->
    if(1>False-->>Hence now
    get(n-1) will evaluate.(note:n=1 for following statements)
    -->>get(1-1)=get(0)-->>
    if(0return at get(1)-->now printf will evaluate and print n=1
    n=1
    Control will shift back to parent function i.e. get(4) hence it will print
    n=4
    Control shifts to
    *get(5)*--->>get(5-3)-->>get(2)-->
    if(2False--> get(n-1) will eval.
    Now n=2, get(n-1)=get(1)-->
    if(1False-->return to get(2)-->>get(n-1)-->get(1)
    And as get(1) evaluates printf will consider n=1
    Hence n=1 will be printed
    And control shifts to get(2) i.e.get(5-3)i.e.get(n-3)
    Hence printf will evaluate
    n=2.
    Control will shift back to parent function
    get(5)
    Hence will print n=5
    Same applicable for get(6)
    n=1
    n=2
    n=3
    n=6
    O/p:-- 123141251236
    I understood this much...still confused.
    It will be more helpful if someone can elaborate it more in deapth ..🥰

    • @aniketrohit7287
      @aniketrohit7287 2 роки тому +4

      thank you for sharing this i am also confused with that now it is much more clear

  • @Karthik-or2fy
    @Karthik-or2fy 4 роки тому +28

    Confused program changed to simple program through your explanation 👌

  • @gopinathsubramani1320
    @gopinathsubramani1320 3 роки тому +12

    Now I understood how multiple recursion works...
    Thank you bro

  • @phani2739
    @phani2739 4 роки тому +42

    Now I understood how the gate questions be.

    • @hetaeramancer
      @hetaeramancer 3 роки тому

      What does GATE mean?

    • @phani2739
      @phani2739 3 роки тому +3

      @@hetaeramancer The Graduate Aptitude Test in Engineering (GATE) is anexamination that primarily tests the comprehensive understanding of various undergraduate subjects in engineering and science for admission into the Masters Program and Job in Public Sector Companies in India.

    • @akrzha
      @akrzha 3 роки тому

      @@hetaeramancer Graduate Aptitude Test in Engineering

  • @nikhilanand984
    @nikhilanand984 4 роки тому +20

    coming back in this question is really confusing. please explain more clearly and easily. I am really looking forward to it.

  • @saswatpradhan5549
    @saswatpradhan5549 5 років тому +32

    This is a very confusing problem 🙁

  • @AshishKhetwal
    @AshishKhetwal 8 днів тому

    sir the questions you provide are really interesting and I always learn something new from them! thanks!

  • @radheshyamsingh1300
    @radheshyamsingh1300 5 років тому +59

    This program is really very confusing..

  • @techodisha4836
    @techodisha4836 3 роки тому +3

    I have to watch for infinite times🤯😂😂

  • @riturajsharma3937
    @riturajsharma3937 2 роки тому +6

    These questions deserve 100.marks 😂

  • @ahmed6569180
    @ahmed6569180 4 роки тому +8

    how is the condition is true when n=1 and if (n

    • @Sake679
      @Sake679 4 роки тому +1

      No if it's n

    • @bablu1921
      @bablu1921 3 роки тому

      Thats not how compiler will work its just takes the argument if 1 is less than 1 which in this case it's not therefore it will execute further

    • @charuarora6621
      @charuarora6621 3 роки тому

      and if it executes further it must not reach to get(0) part, there might be some problem with operators.

  • @shravya8492
    @shravya8492 3 роки тому +5

    Though your explanation is excellent, this question is quite confusing😅. I guess I will come back again after watching some more videos.

  • @enjoylearning210
    @enjoylearning210 3 роки тому +3

    This problem is quite confusing ..I think 🤔 I need to watch it several times ...but ur way of explanation is pretty good

    • @scars707
      @scars707 3 роки тому

      No need to watch several times ,
      KHABY : LIFE MADE EAZY

  • @anonymousindinymous7306
    @anonymousindinymous7306 5 років тому +6

    sir pls expaliN how the OUTPUT is printed :
    o/p is::: 1 2 3 1 4 1 2 5 1 2 3 6
    pls explain each one by one its really cant understand with out u!
    Thanks for above wonderful simple explanation ........

    • @akshitarora470
      @akshitarora470 4 роки тому +2

      the get(n-3) value goes less than 1, the base case is triggered, it says to the caller, just stop what ever you're doing and return, at this point whatever the poor function get(n-3) had as the value of n, it prints it out in the next line and that explains the output! Try and dry run it on a sheet, you will see how the calling goes.

  • @andistheinforitbutso7513
    @andistheinforitbutso7513 2 роки тому +1

    Tough one nicely done ✔ 👏

  • @eswarvankayala5606
    @eswarvankayala5606 5 років тому +4

    Please any body reply me
    Why we return to get(2) after get(1)
    At 3:44 seconds in video??
    Please let me know

    • @zitrakzsingh7295
      @zitrakzsingh7295 5 років тому +2

      get(1) completes get(0) and get(-2) so after that it wont call again so it will return to its parent call that is get(2)
      u can think it like the student reports to the teacher after all the work ,the teacher reports to the higher authority and so on ..

    • @tanaykamath1415
      @tanaykamath1415 4 роки тому

      Maybe bcoz its void!?

    • @nikhilanand984
      @nikhilanand984 4 роки тому +3

      I am having the same doubt. If anyone can clear it with valid concept

    • @Manuevaral
      @Manuevaral 4 роки тому +1

      because of this is recursion.....so compiler automatically set up as recursion body so it's going get(1) to get(2);-)

  • @riyazahmed7907
    @riyazahmed7907 5 років тому +2

    Beautiful explanation sir

  • @manuelconte2127
    @manuelconte2127 8 місяців тому

    For all those who have had difficulty solving it, don't give up, try and try again; Sooner or later you will understand it, I assure you!

  • @gitanjalikumari9262
    @gitanjalikumari9262 4 роки тому +1

    Nice explanation sir...

  • @bollyedits6030
    @bollyedits6030 4 роки тому +8

    If( 1< 1 ) , this condition is false so how get(0) is evaluated ?

    • @Sake679
      @Sake679 4 роки тому

      No it's true cause 1< 1 so we go to zero function next

    • @dekhbhai9328
      @dekhbhai9328 3 роки тому +1

      @@Sake679 no this is false 1

    • @MurariSingh-mw8ze
      @MurariSingh-mw8ze 3 роки тому +1

      @@dekhbhai9328 1 is not less than 1,1 is equal to 1
      therefore ,condition is true

    • @dekhbhai9328
      @dekhbhai9328 3 роки тому

      @@MurariSingh-mw8ze no bro there is clearly mention n

    • @muskansadaka9458
      @muskansadaka9458 3 роки тому +1

      @GAURAV MALHOTRA ya condition is false so it will not return . so get(0) will be called .
      Please think it like that :
      if(n-1)
      {
      return;
      }

  • @saipraneeth2311
    @saipraneeth2311 Рік тому

    Sir superb explanation sir.

  • @abhaypratap9898
    @abhaypratap9898 3 роки тому +2

    Please suggest any book for such questions 🥺🥺🥺

  • @cyethacksolutions6761
    @cyethacksolutions6761 3 роки тому +4

    this is code for this recursion to count the Recursion output and count for calling
    #include
    int count=1;
    void get(int n)
    {
    if(n

    • @BilalBerek-tl3tq
      @BilalBerek-tl3tq Рік тому

      why do you initialize count from one bro
      what is logic

    • @akashade5031
      @akashade5031 Рік тому

      @@BilalBerek-tl3tq to count or include first call to get(6) by main() function

  • @TEeducation
    @TEeducation 4 роки тому

    Awesome Explanation

  • @tejastej2762
    @tejastej2762 3 роки тому

    Superb explanation

  • @pratikagrawal8637
    @pratikagrawal8637 4 роки тому +1

    Superb... Content

  • @radheyshreeagrawal8868
    @radheyshreeagrawal8868 2 роки тому +1

    this might be wrong, as when Get(1) is formed value of N is 2. and so on. sir please reply?

    • @TruthTongue
      @TruthTongue 9 місяців тому

      it is not 2, it is -2.

  • @Sake679
    @Sake679 4 роки тому

    Guys 1

  • @rtm4829
    @rtm4829 3 роки тому +3

    How after get(-2) it goes back to get(1) and then to get(2) ??

    • @cqwshi
      @cqwshi Рік тому +1

      same doubt. but if you understand by now,can you please explain it?

  • @pratikneupane951
    @pratikneupane951 3 роки тому +3

    I didn't understand when to use gate(n-1) and when to use get(n-3) .Please help me.

    • @dipeshranadipeshrana881
      @dipeshranadipeshrana881 Рік тому

      Its non tail recursive implement it's concept

    • @krishwanthkishore8299
      @krishwanthkishore8299 Рік тому

      ​@@dipeshranadipeshrana881yo he didn't mention any concept like that, in tail recursion there is no need to keep record of past recursions

  • @scien-terrific7004
    @scien-terrific7004 4 роки тому +1

    Ans should be 35...not 25 as when (n-1)=1 ; then (n-3)= -1 , not -2 & here @nesoacademy has done a mistake by taking (n-3)=-2, plz recheck it!

  • @rohandevaki4349
    @rohandevaki4349 5 років тому

    after get (5) to get(4) to so on get(1) after that it becomes get(0) and it prints o and it comes out of the function right? please reply fast sir

  • @kaveeshnayak4328
    @kaveeshnayak4328 5 років тому

    Great explaination

  • @s.o.s6201
    @s.o.s6201 3 роки тому

    take a bow... god of C

  • @b.himanshu2654
    @b.himanshu2654 4 роки тому +1

    Excellent

  • @shahidmujawar9277
    @shahidmujawar9277 5 років тому +1

    Hello, can you please make a vedio on space and time complexity in c

  • @digitalgoldmine-007
    @digitalgoldmine-007 5 місяців тому

    could u plz make a video on how to guess the last part of recursive cuz teachers r making questions in exam which they give first part of recursive code and want us to write the other part.

  • @meenalsolanki9286
    @meenalsolanki9286 5 років тому +1

    I have a query in condition if( n

    • @vivekojha4807
      @vivekojha4807 5 років тому +2

      get(1) is called because the condition says strictly less than 1. When it calls get(0), the condition gets true and it goes back to get(1).

    • @jeedikantivenkat7814
      @jeedikantivenkat7814 5 років тому +2

      Guys dont get confused .
      Watch it twice
      U will get it ..

    • @Dnsx_plus
      @Dnsx_plus 4 роки тому

      @@jeedikantivenkat7814 thanks

    • @arjunshaik3071
      @arjunshaik3071 4 роки тому

      @@vivekojha4807 bro can u explain in clean manner plz

    • @vivekojha4807
      @vivekojha4807 4 роки тому

      @@arjunshaik3071 It's difficult to explain through text only. You need to visualize it. You may put the code in visualgo.net/en/recursion and visualize. But you should know how recursion stack works.

  • @milesli2751
    @milesli2751 Рік тому +1

    I just wonder why we called the get() function 25 times, but when we run this code there are only 12 numbers are printed out?

    • @TruthTongue
      @TruthTongue 9 місяців тому

      ok so u see when we were calling the get(n-1) function, we were not able to reach the printf function. even after going to the get(n-3) function,..since the returned number were (n

  • @VikashShukla07
    @VikashShukla07 3 роки тому +1

    Amazing question.nicely explained sir

  • @friedrichmyers
    @friedrichmyers 4 місяці тому

    Am I the only one who found it easy and got the answer first try?

  • @compangit1524
    @compangit1524 Рік тому

    Answer is Option B, 25

  • @Anonymous____________A721
    @Anonymous____________A721 3 роки тому +1

    Can you explain with output

  • @PriyaSingh-ul4hl
    @PriyaSingh-ul4hl 4 роки тому +2

    What if we are asked about print output. Can anybody explain please?

    • @VikasKumar-xu8if
      @VikasKumar-xu8if 3 роки тому +2

      Output: 12131241213512131246
      and the function will be called 41 times , there is some mistake in above solution (explained in video) as you can check by running the program and counting the calls by a global variable initialized with zero.

    • @uraharakisuke5305
      @uraharakisuke5305 2 роки тому

      @@VikasKumar-xu8if 41 toh option mein bhi nahi hai

  • @sushantkumar4917
    @sushantkumar4917 3 роки тому +1

    Before starting video I made guss like
    (1+3)*6 = 24, so answer should be 25 😂😂✌️

    • @getayawkaltamrat1314
      @getayawkaltamrat1314 3 роки тому

      you will end up getting an A if you keeping guessing like this :D

  • @ruthviksaikalahastri7513
    @ruthviksaikalahastri7513 Рік тому

    Answer is (B) 25

  • @HelloWorld40408
    @HelloWorld40408 Рік тому

    Thank you SIr

  • @thinq5339
    @thinq5339 3 роки тому

    my question is after calling get(1) in get(4) the get(1) should go back to get(2)

    • @codelikeapro9724
      @codelikeapro9724 2 роки тому

      at that point get(1) is branch of get(4) not get(2)..... or you can say get(1) comes from get(4) it will simply retrun back to it...

  • @varunpandey3172
    @varunpandey3172 3 роки тому

    I have a doubt that when the fun will be 1 then at that time the condition is going to get wrong bcz if (n

  • @nour_780
    @nour_780 Рік тому

    Thank you

  • @vivekojha4807
    @vivekojha4807 5 років тому

    Thank you sir.

  • @nikhilpachkor8349
    @nikhilpachkor8349 4 роки тому

    Nice problem.

  • @harmankaur3938
    @harmankaur3938 2 роки тому

    Thank you :)

  • @brocklesnarufcchamp1
    @brocklesnarufcchamp1 3 роки тому +3

    This question's not worth the trouble for 2 marks

  • @colloidalsilver177
    @colloidalsilver177 6 років тому +6

    2:52 is that part i am confused on

    • @sheentoosi9642
      @sheentoosi9642 6 років тому +3

      So my understanding is that the first recursive call at the end of the sequence stops because it satisfy the "n

  • @nedstark9734
    @nedstark9734 5 років тому +2

    If you solved it in your mind you gonna confuse at some time so I solved it using method II and got correct answer on my first try

  • @raosahebkolgatram9293
    @raosahebkolgatram9293 3 роки тому

    Is this indirect recursion?

  • @DSAbyraj1729
    @DSAbyraj1729 3 роки тому

    super question

  • @bellalmahtab8220
    @bellalmahtab8220 3 роки тому

    Understood

  • @harshitpathak5376
    @harshitpathak5376 3 роки тому +1

    So much confusion 😕😐..

  • @mlungisinkomo2382
    @mlungisinkomo2382 Рік тому

    DUDE YOU ARE DOPE

  • @NandanKumar-vq9iw
    @NandanKumar-vq9iw 7 місяців тому

    It is wrong:- when get(1) called the function returns there is no way to call get(0)

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

      Its not 1 = 1 its n < 1

  • @sagarsahu6959
    @sagarsahu6959 3 роки тому

    This question is very interesting ❤️

  • @talentotech-p1e
    @talentotech-p1e Рік тому

    I wonder what real program/algorithm would behave like that

  • @true4189
    @true4189 4 роки тому

    Thank u

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

    here first iteration get(1)

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

      Its not 1 = 1 its n < 1

  • @hritushreemog9333
    @hritushreemog9333 5 років тому

    how there is 7 calls , i mean i got confused, i am getting 6 calls which gives me total 24 calls can you elaborate please

    • @zitrakzsingh7295
      @zitrakzsingh7295 5 років тому +1

      count the get(6) call too

    • @ExploreWithShiva_
      @ExploreWithShiva_ 4 роки тому +1

      First we call get(6) till get(0) total 7 calls

    • @ExploreWithShiva_
      @ExploreWithShiva_ 4 роки тому

      Then iteration

    • @VikasKumar-xu8if
      @VikasKumar-xu8if 3 роки тому

      "get" function will be called 41 times , there is some mistake in above solution (explained in video) as you can check by running the program and counting the calls by a global variable initialized with zero.

    • @asharya5311
      @asharya5311 3 роки тому

      @@VikasKumar-xu8if But 41 is not present in the options.

  • @mohammadtaqiahsan5620
    @mohammadtaqiahsan5620 3 роки тому

    May I know your name sir?

  • @latasharma7328
    @latasharma7328 4 роки тому

    N value????

  • @psarvani6994
    @psarvani6994 5 років тому

    Can someone explain me the answer

  • @psarvani6994
    @psarvani6994 5 років тому

    Sir how have you gone from step get(4) to get (5) as the value n will be 1 and we need to satisfy the condition n

    • @red_l6634
      @red_l6634 5 років тому

      yes thats why he writes +2 calls.he means that get(4-3)=get(1) plus what g(1) calls. But we know what get(1) calls!!! it calls get(0) and get(-2) n

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

    not able to understand this one

  • @jeedikantivenkat7814
    @jeedikantivenkat7814 5 років тому +2

    Guys dont get confused
    Its very easy

  • @gauravnegi7871
    @gauravnegi7871 5 років тому +2

    But there are 24 calls not 25

    • @BilalBerek-tl3tq
      @BilalBerek-tl3tq Рік тому

      you did not count first call from main function for get(6).

  • @shaiksameerbasha4702
    @shaiksameerbasha4702 2 роки тому

    👍

  • @shubhamjain154
    @shubhamjain154 3 роки тому

    This paper setter will definitely go in hell....

  • @real_kim8455
    @real_kim8455 3 роки тому

    When we get the 1st get(0) after that why aren't we pop'ing out all the way back to get(6) & instead going to get(-2)?
    Unable to understand. Please explain.

  • @nahidmony7860
    @nahidmony7860 Рік тому

    Brainstrorming

  • @charuarora6621
    @charuarora6621 3 роки тому +1

    But when get(1) function is called .. condition(n

    • @areebshaikh321
      @areebshaikh321 3 роки тому +1

      Yes. After get (1) is called ,as (n

    • @chakradharthota1100
      @chakradharthota1100 3 роки тому

      Here get function is not in the if function.. so here condition failed if is not evaluted .. so control reaches to get (0)👍

  • @dilipkumar-ku5jx
    @dilipkumar-ku5jx Рік тому

    fun fact: activation record also stores execution line where the function last left its execution and when it returns it starts executing from next line of execution line stored. I hope this comment will reduce the confusions if there are any
    +-------------------------------------+
    | Activation Record for 'get' |
    +-------------------------------------+
    | Parameters: |
    | |
    +-------------------------------------+
    | Local Variables: |
    | |
    +-------------------------------------+
    | Return Value: |
    | |
    +-------------------------------------+
    | Execution Line: |
    | get(n-1); |
    +-------------------------------------+

    • @cqwshi
      @cqwshi Рік тому

      do you mean this by saying how the execution flow was from get (n-1) until n =0 and after this the flow was from only (n

  • @ravikiran3455
    @ravikiran3455 2 роки тому

    Awesome Explanation

  • @dakshpatel1769
    @dakshpatel1769 Рік тому

    Thank you sir ❤

  • @shibambiswas
    @shibambiswas Рік тому

    👍