using System.Numerics;

using static System.Console;

WriteLine("Praca z wielkimi liczbami:");
WriteLine("-----------------------------------");

ulong wielka = ulong.MaxValue;
WriteLine($"{wielka,40:N0}");

BigInteger wieksza = BigInteger.Parse("123456789012345678901234567890");
WriteLine($"{wieksza,40:N0}");


WriteLine("Praca z liczbami zespolonymi:");
Complex z1 = new(real: 4, imaginary: 2);
Complex z2 = new(real: 3, imaginary: 7);
var z3 = z1 + z2;

// Wypisz dane za pomocą domyślnej implementacji metody ToString
WriteLine($"{z1} dodana do {z2} daje {c3}");

// Wypisz dane z użyciem własnego formatu
WriteLine("{0} + {1}i dodana to {2} + {3}i daje {4} + {5}i",
  c1.Real, c1.Imaginary,
  c2.Real, c2.Imaginary,
  c3.Real, c3.Imaginary);

