Advertisement
Layvu

Dp2

Apr 24th, 2023
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.90 KB | None | 0 0
  1. using System;
  2. using System.Reflection.Emit;
  3.  
  4. namespace ConsoleApplication1945
  5. {
  6.     internal class Program
  7.     {
  8.         public static void Main()
  9.         {
  10.             Console.WriteLine(CountWays(11));
  11.         }
  12.  
  13.         // Каждое число вычисляется на основе вычисленных ранее, а не каждый раз решается с нуля
  14.         public static int CountWays(int n)
  15.         {
  16.             if (n < 0) throw new ArgumentException();
  17.             if (n <= 2) return 1;
  18.            
  19.             var date = new int[4];
  20.             for (var i = 0; i <= 2; i++) date[i] = 1;
  21.  
  22.             for (var i = 3; i <= n; i++)
  23.             {
  24.                 date[3] = date[0] + date[1];
  25.                 date[0] = date[1];
  26.                 date[1] = date[2];
  27.                 date[2] = date[3];
  28.             }
  29.  
  30.             return date[3];
  31.         }
  32.     }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement