Advertisement
Aborigenius

DataOverflow

Jun 6th, 2017
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.02 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 DataOverflow
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             ulong n1 = ulong.Parse(Console.ReadLine());
  14.             ulong n2 = ulong.Parse(Console.ReadLine());
  15.             var number1 = Math.Max(n1, n2);
  16.             var number2 = Math.Min(n1, n2);
  17.             string type1 = "";
  18.             string type2 = "";
  19.  
  20.             if (number1 >= 0 && number1 < byte.MaxValue)
  21.             {
  22.                 type1 = "byte";
  23.             }
  24.             else if (number1 > byte.MaxValue && number1 <= ushort.MaxValue)
  25.             {
  26.                 type1 = "ushort";
  27.             }
  28.             else if (number1 > ushort.MaxValue && number1 <= uint.MaxValue)
  29.             {
  30.                 type1 = "uint";
  31.             }
  32.             else if (number1 > uint.MaxValue && number1 <= ulong.MaxValue)
  33.             {
  34.                 type1 = "ulong";
  35.             }
  36.             double maxValue = 0;
  37.             if (number2 >= 0 && number2 <= byte.MaxValue)
  38.             {
  39.                 type2 = "byte";
  40.                 maxValue = byte.MaxValue;
  41.             }
  42.             else if (number2 > byte.MaxValue && number2 <= ushort.MaxValue)
  43.             {
  44.                 type2 = "ushort";
  45.                 maxValue = ushort.MaxValue;
  46.             }
  47.             else if (number2 > ushort.MaxValue && number2 <= uint.MaxValue)
  48.             {
  49.                 type2 = "uint";
  50.                 maxValue = uint.MaxValue;
  51.             }
  52.             else if (number2 > uint.MaxValue && number2 <= ulong.MaxValue)
  53.             {
  54.                 type2 = "ulong";
  55.                 maxValue = ulong.MaxValue;
  56.             }
  57.             var overflow = Math.Round(number1 / maxValue);
  58.             Console.WriteLine($"bigger type: {type1}");
  59.             Console.WriteLine($"smaller type: {type2}");
  60.             Console.WriteLine($"{number1} can overflow {type2} {overflow} times");
  61.         }
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement