Advertisement
xxeell

Untitled

May 30th, 2018
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.35 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApp1
  7. {
  8.     class Integer
  9.     {
  10.         private Integer parent;
  11.  
  12.         public Integer()
  13.         {
  14.             parent = null;
  15.         }
  16.  
  17.         public Integer (Integer incrementOperand)
  18.         {
  19.             parent = incrementOperand;
  20.         }
  21.  
  22.         public bool IsZero => parent == null;
  23.  
  24.         public int ToInt()
  25.         {
  26.             if (IsZero) return 0;
  27.             return 1 + parent.ToInt();
  28.         }
  29.  
  30.         public static Integer FromInt(int x)
  31.         {
  32.             if (x < 0) throw new Exception("Eto neotritstelny tip!");
  33.             if (x == 0) return new Integer(); //zero
  34.             return new Integer(FromInt(x - 1));
  35.         }
  36.  
  37.         public static Integer GetZero()
  38.         {
  39.             return new Integer();
  40.         }
  41.     }
  42.  
  43.     class Program
  44.     {
  45.         static void Main(string[] args)
  46.         {
  47.             Integer zero = Integer.GetZero();
  48.             Integer one = new Integer(zero);
  49.  
  50.             Integer five = new Integer(new Integer(new Integer(new Integer(new Integer(Integer.GetZero())))));
  51.  
  52.             Console.WriteLine(zero.ToInt());
  53.             Console.WriteLine(one.ToInt());
  54.             Console.WriteLine(five.ToInt());
  55.             Console.ReadKey();
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement