Advertisement
mmayoub

קוד רקורסיה

Nov 25th, 2021
844
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.68 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ConsoleApp12
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             int n = 7;
  10.             int f = factorial(n);
  11.  
  12.             Console.WriteLine("* * * * * * * f a c t o r i a l * * * * * * *");
  13.             Console.WriteLine("final result: factorial({0}) = {1}", n, f);
  14.  
  15.             int x = 3219786;
  16.             int d = 2;
  17.  
  18.             Console.WriteLine("\n\n* * * * * * * * h a s * * * * * * * *");
  19.             if (has(x, d))
  20.                 Console.WriteLine("{0} has a digit equals to {1}", x, d);
  21.             else
  22.                 Console.WriteLine("{0} does not have a digit equals to {1}", x, d);
  23.         }
  24.  
  25.         public static bool has(int n, int k)
  26.         {
  27.             Console.WriteLine("start searching in {0} for {1}", n, k);
  28.             if (n == 0)
  29.             {
  30.                 Console.WriteLine("stop searching. {0} was not found", k);
  31.                 return false;
  32.             }
  33.  
  34.             int a = n % 10;   // ahad only
  35.             int rest = n / 10; // number without ahad
  36.  
  37.             if (k == a)
  38.             {
  39.                 Console.WriteLine("{0} starts with the digit {1}", n, k);
  40.                 return true;
  41.             }
  42.  
  43.             return has(rest, k);
  44.         }
  45.  
  46.         public static int factorial(int n)
  47.         {
  48.             Console.WriteLine("start factorial with {0}", n);
  49.             if (n == 0)
  50.             {
  51.                 Console.WriteLine("factorial({0})={1}", n, 1);
  52.                 return 1;
  53.             }
  54.  
  55.             int res = n * factorial(n - 1);
  56.             Console.WriteLine("factorial({0})={1}", n, res);
  57.             return res;
  58.         }
  59.     }
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement