Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. +using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace kek
  8. {
  9.  
  10. class Program
  11. {
  12. static int Fact_1(int n)
  13. {
  14. Console.WriteLine("Вызов " + n);
  15. int f = 1;
  16. if (n > 1) f = n * Fact_1(n - 1);
  17. Console.WriteLine("Подсчет при n = " + n + " Факт = " + f);
  18. return f;
  19. }
  20.  
  21. static int Fact_2(int n)
  22. {
  23. int f = 1;
  24. if (n > 1) f = Fact_2(n - 1) * n;
  25. return f;
  26. }
  27.  
  28. static void Fact_out(int n, out int f)
  29. {
  30. if (n > 1)
  31. {
  32. n--;
  33. Fact_out(n, out f);
  34. f *= (n + 1);
  35. }
  36. else f = 1;
  37. }
  38.  
  39. static void Fact_ref(int n, ref int f)
  40. {
  41. if (n > 1)
  42. {
  43. f *= n;
  44. n--;
  45. Fact_ref(n, ref f);
  46. }
  47. }
  48.  
  49. static void Main(string[] args)
  50. {
  51. Console.WriteLine("Введите число для подсчета его факториала");
  52. int n = Convert.ToInt32(Console.ReadLine());
  53. Console.WriteLine();
  54. Console.WriteLine("{0}! = {1}\n", n, Fact_1(n));
  55. Console.WriteLine("{0}! = {1}\n", n, Fact_2(n));
  56. int f;
  57. Fact_out(n, out f);
  58. Console.WriteLine("{0}! = {1}\n", n, f);
  59. f = 1;
  60. Fact_ref(n, ref f);
  61. Console.WriteLine("{0}! = {1}\n", n, f);
  62. Console.ReadKey();
  63. }
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement