chore(CPlusPlus): add reverse number algorithm (#789)
Co-authored-by: Arsenic <54987647+Arsenic-ATG@users.noreply.github.com>pull/799/head
parent
cef837425c
commit
e42f4bb0b1
|
@ -1,4 +1,4 @@
|
||||||
#include"fib.h"
|
#include"./fib.h" // NOLINT(build/include)
|
||||||
#include<math.h> // sqrt, pow are used in binet_fib
|
#include<math.h> // sqrt, pow are used in binet_fib
|
||||||
|
|
||||||
int recur_fib(int n){
|
int recur_fib(int n){
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#ifndef FIB_H_INCLUDED
|
|
||||||
#define FIB_H_INCLUDED
|
#ifndef ALGORITHMS_C_MATHS_FIBONACCI_NUMBER_SRC_FIB_H_
|
||||||
|
#define ALGORITHMS_C_MATHS_FIBONACCI_NUMBER_SRC_FIB_H_
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fib(n) takes nonnegative number n
|
* fib(n) takes nonnegative number n
|
||||||
|
@ -19,4 +20,4 @@ int iter_log_fib(int n);
|
||||||
int log_fib(int n);
|
int log_fib(int n);
|
||||||
int binet_fib(int n);
|
int binet_fib(int n);
|
||||||
|
|
||||||
#endif
|
#endif // ALGORITHMS_C_MATHS_FIBONACCI_NUMBER_SRC_FIB_H_"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#include<stdio.h>
|
#include<stdio.h>
|
||||||
#include"fib.h"
|
#include"./fib.h" // NOLINT(build/include)
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
memomizing_fib(); // this is to initialize the memomized table
|
memomizing_fib(); // this is to initialize the memomized table
|
||||||
|
|
|
@ -186,6 +186,7 @@
|
||||||
- [Product of two numbers](Recursion\product-of-numbers.cpp)
|
- [Product of two numbers](Recursion\product-of-numbers.cpp)
|
||||||
- [Product of digits in a number](Recursion\product-of-digits.cpp)
|
- [Product of digits in a number](Recursion\product-of-digits.cpp)
|
||||||
- [Linear search using recursion](Recursion/linear-search.cpp)
|
- [Linear search using recursion](Recursion/linear-search.cpp)
|
||||||
|
- [Reverse a number using recursion](Recursion/reverse-a-number.cpp)
|
||||||
|
|
||||||
## Number System
|
## Number System
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
Description: Program to reverse integer using recursion
|
||||||
|
Time complexity: O(n) where n is the number of digits in the integer
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
#include <iostream>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int Helper(int n ,int base , int ans)
|
||||||
|
{
|
||||||
|
if(n < 1)
|
||||||
|
return ans;
|
||||||
|
ans = ans * base + (n % 10); // Update the ans for every digit
|
||||||
|
return Helper(n / 10, base , ans);
|
||||||
|
}
|
||||||
|
|
||||||
|
int Rev(int n)
|
||||||
|
{
|
||||||
|
return Helper(n , 10, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, char const *argv[])
|
||||||
|
{
|
||||||
|
cout << Rev(13579);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
Input: 13579
|
||||||
|
Output: 97531
|
||||||
|
*/
|
||||||
|
|
Loading…
Reference in New Issue