Advertisement
vencinachev

Recursions

Sep 15th, 2024 (edited)
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.92 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Recursions
  4. {
  5.     internal class Program
  6.     {
  7.         static int Factorial(int n)
  8.         {
  9.             if (n == 0)
  10.             {
  11.                 return 1;
  12.             }
  13.  
  14.             return n * Factorial(n - 1);
  15.         }
  16.  
  17.         static int Fib(int n)
  18.         {
  19.             if (n == 0 || n == 1)
  20.             {
  21.                 return 1;
  22.             }
  23.             return Fib(n - 2) + Fib(n - 1);
  24.         }
  25.  
  26.         static void NToOne(int n)
  27.         {
  28.             if (n == 0)
  29.             {
  30.                 return;
  31.             }
  32.             Console.WriteLine(n);
  33.             NToOne(n - 1);
  34.         }
  35.  
  36.         static void OneToN(int n)
  37.         {
  38.             if (n == 0)
  39.             {
  40.                 return;
  41.             }
  42.             OneToN(n - 1);
  43.             Console.WriteLine(n);
  44.         }
  45.  
  46.         // O(n)
  47.         static double Power(double a, int n)
  48.         {
  49.             if (n == 0)
  50.             {
  51.                 return 1;
  52.             }
  53.             if (n < 0)
  54.             {
  55.                 return 1 / Power(a, -n);
  56.             }
  57.             return a * Power(a, n - 1);
  58.         }
  59.  
  60.         // O(log(n))
  61.         static double FastPower(double a, int n)
  62.         {
  63.             if (n == 0)
  64.             {
  65.                 return 1;
  66.             }
  67.             if (n < 0)
  68.             {
  69.                 return 1 / FastPower(a, -n);
  70.             }
  71.             if (n % 2 == 0)
  72.             {
  73.                 double x = FastPower(a, n / 2);
  74.                 return x * x;
  75.             }
  76.             double y = FastPower(a, (n - 1) / 2);
  77.             return a * y * y;
  78.         }
  79.  
  80.         static int GCD(int a, int b)
  81.         {
  82.             if (b == 0)
  83.             {
  84.                 return a;
  85.             }
  86.             return GCD(b, a % b);
  87.         }
  88.  
  89.         static void Main(string[] args)
  90.         {
  91.             Console.WriteLine(GCD(250, 100));
  92.         }
  93.     }
  94. }
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement