mmayoub

Ex02, 13.09.2021

Sep 14th, 2021 (edited)
1,181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.50 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ConsoleApp5
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             // a number from user
  10.             int n;
  11.  
  12.             // 10 counters (0 to 9) for each digit
  13.             int[] count = new int[10];
  14.  
  15.             // get a number from user
  16.             Console.Write("Enter a positive integer number: ");
  17.             n = int.Parse(Console.ReadLine());
  18.  
  19.             // loop for each digit in the number n
  20.             while (n > 0)
  21.             {
  22.                 int ahad = n % 10; // first digit only
  23.                 n /= 10; // remove first digit from the number
  24.  
  25.                 // update counter for the first digit found
  26.                 count[ahad]++;
  27.             }
  28.  
  29.             // print digits and counters
  30.             for (int i = 0; i < 10; i++)
  31.             {
  32.                 // if digit exist in the number
  33.                 if (count[i] > 0)
  34.                 {
  35.                     Console.WriteLine("{0} x {1}", i, count[i]);
  36.                 }
  37.             }
  38.  
  39.             // build max number with the same digits
  40.             string max = "";
  41.             // loop for each digit, start from 9 down to 0
  42.             for (int i = 9; i >= 0; i--)
  43.             {
  44.                 // loop to add digit to max
  45.                 for (int c = 0; c < count[i]; c++)
  46.                 {
  47.                     max += i;
  48.                 }
  49.             }
  50.             Console.WriteLine("max number with the same digits is {0}", max);
  51.         }
  52.     }
  53. }
  54.  
Add Comment
Please, Sign In to add comment