Infiniti_Inter

generator

Apr 8th, 2022 (edited)
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.64 KB | None | 0 0
  1. using Newtonsoft.Json;
  2. using System;
  3. using System.Threading;
  4.  
  5.  
  6. namespace serialize
  7. {
  8.  
  9.     static class Constants
  10.     {
  11.         public const int mod1 = 101;// +-
  12.         public const int mod2 = 101;// +-
  13.         public const int mod3 = 11;// */
  14.         public const int mod4 = 11;// */
  15.     }
  16.     class Program
  17.     {
  18.  
  19.  
  20.  
  21.  
  22.         public static char GetSign()
  23.         {
  24.  
  25.             Random rnd = new Random();
  26.             int tmp = rnd.Next() % 4;
  27.             char result = '.';
  28.  
  29.             switch (tmp)
  30.             {
  31.                 case (0):
  32.                     result = '+';
  33.                     break;
  34.                 case (1):
  35.                     result = '-';
  36.                     break;
  37.                 case (2):
  38.                     result = '*';
  39.                     break;
  40.                 case (3):
  41.                     result = '/';
  42.                     break;
  43.                 default:
  44.                     break;
  45.             }
  46.             return result;
  47.         }
  48.  
  49.         public (int, int) GetPair(int mod1 = Constants.mod1, int mod2 = Constants.mod2)
  50.         {
  51.             Random rnd = new Random();
  52.             int res1, res2;
  53.             res1 = (rnd.Next() % mod1) + 1;
  54.             res2 = (rnd.Next() % mod2) + 1;
  55.             return (res1, res2);
  56.         }
  57.  
  58.        
  59.  
  60.         public (string, char, string, int) Build(char Sign)
  61.         // first sign second result
  62.         {
  63.             (string, char, string, int) result;
  64.             if (Sign == '+')
  65.             {
  66.                 (int, int) Expression = GetPair();
  67.                 result.Item1 = Expression.Item1.ToString();
  68.                 result.Item2 = Sign;
  69.                 result.Item3 = Expression.Item2.ToString();
  70.                 result.Item4 = Expression.Item1 + Expression.Item2;
  71.             }
  72.             else
  73.             if (Sign == '-')
  74.             {
  75.                 (int, int) Expression = GetPair();
  76.                 if (Expression.Item1 < Expression.Item2)
  77.                 {
  78.                     int a = Expression.Item1;
  79.                     Expression.Item1 = Expression.Item2;
  80.                     Expression.Item2 = a;
  81.                 }
  82.                 result.Item1 = Expression.Item1.ToString();
  83.                 result.Item2 = Sign;
  84.                 result.Item3 = Expression.Item2.ToString();
  85.                 result.Item4 = Expression.Item1 - Expression.Item2;
  86.             }
  87.             else
  88.             if (Sign == '/')
  89.             {
  90.                 (int, int) Expression = GetPair(Constants.mod3, Constants.mod4);
  91.                 Expression.Item1 = Expression.Item2 * Expression.Item1;
  92.                 result.Item1 = Expression.Item1.ToString();
  93.                 result.Item2 = Sign;
  94.                 result.Item3 = Expression.Item2.ToString();
  95.                 result.Item4 = Expression.Item1 / Expression.Item2;
  96.             }
  97.             else
  98.             {
  99.                 (int, int) Expression = GetPair(Constants.mod3, Constants.mod4);
  100.                 result.Item1 = Expression.Item1.ToString();
  101.                 result.Item2 = Sign;
  102.                 result.Item3 = Expression.Item2.ToString();
  103.                 result.Item4 = Expression.Item1 * Expression.Item2;
  104.             }
  105.  
  106.             return result;
  107.         }
  108.  
  109.  
  110.         static void Main(string[] args)
  111.         {
  112.  
  113.             for (int i = 0; i < 25; ++i)
  114.             {
  115.                 Program abs = new Program();
  116.                 Thread.Sleep(1);
  117.                 //for (int j = 0; j < 6500000; j++) ;
  118.                 var a = abs.Build(GetSign());
  119.                 Console.WriteLine(a);
  120.             }
  121.         }
  122.  
  123.     }
  124. }
  125.  
Add Comment
Please, Sign In to add comment