Find Factorial of a number using recurssion

Duration: 6 min

This video lesson is available to enrolled students.

Return to /learn/AMCAT-PREPARATION/codingautomata-round/coding-questions/coding-question/asset-find-factorial-of-a-number-using-recurssion after enrolling

Inside: a video lesson and guided study material.

Module outline

  1. Quantitative Ability: Percentage, Profit and Loss, Ratio and Proportion (Ratios), Average, Time and Work, Speed Time and Distance, Simple Interest and Compound Interest, Age Problems, Number System, Divisibility Rules, HCF LCM, Algebra, Permutation and Combination, Probability, Data Interpretation, Logarithm, Sequence and Series (Series), Powers and Exponents (Surds and Indices), Speed Mathematics and Basic Mathematics
  2. Logical Reasoning: Seating Arrangements, Puzzle Solving (Puzzles), Data Arrangement, Coding Decoding, Blood Relations, Directions (Direction Test), Ranking, Order and Sequence, Data Sufficiency, Venn Diagram, Inequality, Series (Number and Letter Series) (Numerical Relations and Reasoning), Logical Sequence Of Words, Deductive and Inductive Reasoning (Logical Deduction and Induction) (Prepositional Reasoning), Selection Decision Table (Decision Making), Analogy, Non Verbal Reasoning (Spatial Aptitude) (Spatial Reasoning) (Visual Reasoning)
  3. Verbal Ability: Comprehension / Reading Comprehension / Unseen Passages (Critical Reasoning) (Paragraph Questions), Subject Verb Agreement (Verb Noun Agreement), Tenses, Articles, Preposition, Conjunction, Modals, Active Passive Voice (Voice), Direct and Indirect Speech, Vocabulary, Sentence Re-arrangements (Para Jumbles) (Narrative Sequencing), Sentence Completion (Fill in the blanks), Sentence Correction (Error Correction), Cloze Test (Cloze Passage), Facts, Inference and Judgements
  4. Programming Fundamentals (Technical): C Fundamentals
  5. Data Structures (Technical): Introduction to DS, Array, Stack, Queue, Linked List, Tree, Graphs, Hashing
  6. Algorithms (Technical): Algorithm Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Time Complexity Analysis, Advanced Algorithms
  7. OOPs (Technical): Object Oriented Programming (OOPS)
  8. DBMS (Technical): Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, Relational Calculus, Transaction Management, Concurrency Control, Database Recovery, ORDBMS, Database Security & Authorization, Query Processing & Optimization, Enhanced Data Models, Data Warehousing & Mining, Big Data Systems, NoSQL
  9. SQL (Technical): SQL
  10. Operating Systems (Technical): Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Deadlock, Threads & Process Creation, Memory Management, Virtual Memory, Disc Scheduling, File Management, Windows OS, Linux OS, Security, Distributed Systems, Virtual Machines
  11. Computer Networks (Technical): Introduction to CN, Data Communication, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP, Application Layer, Hardware basics, Network Security, Cloud Computing and IoT, Cyber and Info Security
  12. Software Engineering (Technical): Fundamentals of Software Engineering, Software Requirements and Quality Assurance, Software Design, Estimation and Metrics, Software Testing, Software Maintenance and Configuration Management
  13. Coding/Automata Round: Coding Questions by Yash Sir, C Programming by Yash Sir, Programming in C++, Java, Python for Placements by Yash Sir, Pseudo Codes
  14. Personality / Behavioral Assessment: Behavioral Assessment (Behavioral Competency Profiling) (Psychometric Test)
  15. Writing Assessment: English Writing Ability
AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This video is a programming tutorial that explains how to calculate the factorial of a positive integer using recursion in C. The lesson begins with a problem statement and two examples, illustrating the mathematical concept of factorial. The instructor then introduces the two main approaches: iteration and recursion, and focuses on the recursive method. The core of the lesson involves deriving the recursive formula, n! = n * (n-1)!, and then writing the corresponding C code. The code includes a function `factorial` with a base case for n=0 and a recursive call. The video concludes with a step-by-step walkthrough of the function's execution for n=4, showing how the recursive calls build up and then resolve to produce the final result of 24.

Chapters

  1. 0:00 – 2:00 00:00-02:00

    The video starts with the Knowledge Gate logo, followed by a slide introducing the topic: finding the factorial of a positive integer N. The instructor presents two examples: for N=5, the output is 120 (5*4*3*2*1), and for N=4, the output is 24 (4*3*2*1). The instructor then introduces the two main methods for solving this problem: iteration and recursion, writing them on the screen as the primary approaches to be discussed.

  2. 2:00 – 5:00 02:00-05:00

    The instructor explains the recursive approach. He writes the mathematical formula for factorial, n! = n * (n-1)!, and then begins to write the C code. He defines a function `unsigned int factorial(unsigned int n)` and explains the base case: if n is 0, return 1. He then writes the recursive case: return n * factorial(n-1). The instructor then shows the main function, which reads an integer from the user and calls the factorial function, printing the result. He uses a laser pointer to highlight key parts of the code as he explains them.

  3. 5:00 – 5:39 05:00-05:39

    The instructor demonstrates the execution of the recursive function for n=4. He draws a call stack, showing the sequence of function calls: `fact(4)` calls `fact(3)`, which calls `fact(2)`, which calls `fact(1)`, which calls `fact(0)`. He explains that `fact(0)` returns 1, and this value is then used to calculate `fact(1) = 1 * 1 = 1`, `fact(2) = 2 * 1 = 2`, `fact(3) = 3 * 2 = 6`, and finally `fact(4) = 4 * 6 = 24`. The final result, 24, is printed as the output.

The video provides a clear, step-by-step tutorial on implementing a recursive solution for the factorial problem in C. It effectively bridges the gap between the mathematical definition of factorial and its programming implementation. The lesson progresses logically from problem definition to algorithm design (recursion), code writing, and finally, a detailed walkthrough of the execution flow, making it an excellent resource for understanding recursion.

Loading lesson…