Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace DataOverflow
- {
- class Program
- {
- static void Main(string[] args)
- {
- ulong n1 = ulong.Parse(Console.ReadLine());
- ulong n2 = ulong.Parse(Console.ReadLine());
- var number1 = Math.Max(n1, n2);
- var number2 = Math.Min(n1, n2);
- string type1 = "";
- string type2 = "";
- if (number1 >= 0 && number1 < byte.MaxValue)
- {
- type1 = "byte";
- }
- else if (number1 > byte.MaxValue && number1 <= ushort.MaxValue)
- {
- type1 = "ushort";
- }
- else if (number1 > ushort.MaxValue && number1 <= uint.MaxValue)
- {
- type1 = "uint";
- }
- else if (number1 > uint.MaxValue && number1 <= ulong.MaxValue)
- {
- type1 = "ulong";
- }
- double maxValue = 0;
- if (number2 >= 0 && number2 <= byte.MaxValue)
- {
- type2 = "byte";
- maxValue = byte.MaxValue;
- }
- else if (number2 > byte.MaxValue && number2 <= ushort.MaxValue)
- {
- type2 = "ushort";
- maxValue = ushort.MaxValue;
- }
- else if (number2 > ushort.MaxValue && number2 <= uint.MaxValue)
- {
- type2 = "uint";
- maxValue = uint.MaxValue;
- }
- else if (number2 > uint.MaxValue && number2 <= ulong.MaxValue)
- {
- type2 = "ulong";
- maxValue = ulong.MaxValue;
- }
- var overflow = Math.Round(number1 / maxValue);
- Console.WriteLine($"bigger type: {type1}");
- Console.WriteLine($"smaller type: {type2}");
- Console.WriteLine($"{number1} can overflow {type2} {overflow} times");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement