Алгоритмы (C-Sharp): различия между версиями
		
		
		
		
		
		Перейти к навигации
		Перейти к поиску
		
				
		
		
	
|  (Новая страница: «== Алгоритмы == * [http://pascalabc.net/wiki/index.php?title=%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%81%D1%82%D1%83...») | |||
| (не показано 18 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
| − | ==  | + | {{TOCRight}} | 
| − | * [ | + | == Код программ == | 
| + | === Сумма вводимых целых чисел === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.Write("Введите число слагаемых:"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var n); | ||
| + | |||
| + |             int sum = 0; | ||
| + |             for(int i = 1; i <= n; i++) { | ||
| + |                 Console.Write($"Введите слагаемое №{i}:"); | ||
| + |                 str = Console.ReadLine(); | ||
| + |                 Int32.TryParse(str, out var x); | ||
| + |                 sum += x; | ||
| + |             } | ||
| + | |||
| + |             Console.WriteLine($"Сумма равна {sum}"); | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Произведение целых чисел === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.Write("Введите число множителей:"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var n); | ||
| + | |||
| + |             int p = 1; | ||
| + |             for(int i = 1; i <= n; i++) { | ||
| + |                 Console.Write($"Введите множитель №{i}:"); | ||
| + |                 str = Console.ReadLine(); | ||
| + |                 Int32.TryParse(str, out var x); | ||
| + |                 p *= x; | ||
| + |             } | ||
| + | |||
| + |             Console.WriteLine($"Произведение равно {p}"); | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Сколько нечетных среди n введенных === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.Write("Введите количество чисел:"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var n); | ||
| + | |||
| + |             int count = 0; | ||
| + |             for(int i = 1; i <= n; i++) { | ||
| + |                 Console.Write($"Введите целое число:"); | ||
| + |                 str = Console.ReadLine(); | ||
| + |                 Int32.TryParse(str, out var x); | ||
| + |                 if (x % 2 != 0) { | ||
| + |                     count++; | ||
| + |                 } | ||
| + |             } | ||
| + | |||
| + |             Console.WriteLine($"Количество нечетных равно {count}"); | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Защита от неверного ввода === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             int x; | ||
| + |             do { | ||
| + |                 Console.WriteLine("Введите x>0:"); | ||
| + |                 string str = Console.ReadLine(); | ||
| + |                 Int32.TryParse(str, out x); | ||
| + |                 if (x <= 0) { | ||
| + |                     Console.WriteLine("Неверный ввод"); | ||
| + |                 } | ||
| + |             } while (x <= 0); | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Вывод 10 первых степеней двойки === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             int x = 2; | ||
| + | |||
| + |             for (int i = 1; i <= 10; i++) { | ||
| + |                 Console.WriteLine($"{i,3} {x,5}"); | ||
| + |                 x *= 2; | ||
| + |             } | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Вывод всех двухзначных чисел, кратных 5 === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             int x = 10; | ||
| + | |||
| + |             while (x < 100) { | ||
| + |                 Console.WriteLine(x); | ||
| + |                 x += 5; | ||
| + |             } | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Вывод n первых чисел Фибоначчи === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.WriteLine("Введите целое число n (n > 1):"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var n); | ||
| + | |||
| + |             int a = 0; int b = 1; | ||
| + |             Console.Write($"{a} {b} "); | ||
| + |             for (int i = 1; i <= n - 2; ++i) { | ||
| + |                 int tmp = a; | ||
| + |                 a = b; | ||
| + |                 b += tmp; | ||
| + |                 Console.Write($"{b} "); | ||
| + |             } | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Найти НОД(A,B), используя алгоритм Евклида: === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.WriteLine("Введите A:"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var a); | ||
| + | |||
| + |             Console.WriteLine("Введите B:"); | ||
| + |             str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var b); | ||
| + | |||
| + | |||
| + |             while (b != 0) { | ||
| + |                 int tmp = a; | ||
| + |                 a = b; | ||
| + |                 b = tmp % b; | ||
| + |             } | ||
| + | |||
| + |             Console.WriteLine($"НОД(A, B) = {a}"); | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Найти сумму цифр целого числа m === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.WriteLine("Введите m:"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var m); | ||
| + | |||
| + |             int sum = 0; | ||
| + |             int m1 = Math.Abs(m); | ||
| + | |||
| + |             while (m1 > 0) { | ||
| + |                 sum += m1 % 10; | ||
| + |                 m1 /= 10; | ||
| + |             } | ||
| + | |||
| + |             Console.WriteLine($"Сумма цифр числа {m} равна {sum}"); | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Найти max из введенных чисел === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.Write("Введите целое число n (n>0):"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var n); | ||
| + | |||
| + |             Console.Write("Введите число №1:"); | ||
| + |             str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var x); | ||
| + | |||
| + |             int max = x; | ||
| + | |||
| + |             for(int i = 2; i <= n; i++) { | ||
| + |                 Console.Write($"Введите число №{i}:"); | ||
| + |                 str = Console.ReadLine(); | ||
| + |                 Int32.TryParse(str, out x); | ||
| + |                 if (x > max) | ||
| + |                 { | ||
| + |                     max = x; | ||
| + |                 } | ||
| + |             } | ||
| + | |||
| + |             Console.WriteLine($"Максимальное из введенных чисел: {max}"); | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Найти min, удовлетворяющее условию p(x) === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static Boolean p(int x) | ||
| + |         { | ||
| + |             return x > 0; | ||
| + |         } | ||
| + | |||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.Write("Введите целое число n (n>0):"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var n); | ||
| + | |||
| + |             int min = int.MaxValue; | ||
| + |             Boolean exists = false; | ||
| + | |||
| + |             for(int i = 1; i <= n; i++) { | ||
| + |                 Console.Write($"Введите число №{i}:"); | ||
| + |                 str = Console.ReadLine(); | ||
| + |                 Int32.TryParse(str, out var x); | ||
| + |                 if ((x < min) && p(x)) | ||
| + |                 { | ||
| + |                     min = x; | ||
| + |                     exists = true; | ||
| + |                 } | ||
| + |             } | ||
| + | |||
| + |             if (exists) { | ||
| + |                 Console.WriteLine($"Минимальное из введенных чисел, удовлетворяющих условию: {min}"); | ||
| + |             } else { | ||
| + |                 Console.WriteLine("Нет чисел, удовлетворяющих условию"); | ||
| + |             } | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Есть ли среди введенных число k? === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.Write("Введите целое число n (n>0):"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var n); | ||
| + | |||
| + |             Console.Write("Введите целое число k:"); | ||
| + |             str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var k); | ||
| + | |||
| + |             Boolean exists = false; | ||
| + | |||
| + |             for(int i = 0; i < n; i++) { | ||
| + |                 Console.Write($"Введите число №{i+1}:"); | ||
| + |                 str = Console.ReadLine(); | ||
| + |                 Int32.TryParse(str, out var x); | ||
| + |                 if (x == k) | ||
| + |                 { | ||
| + |                     exists = true; | ||
| + |                     break; | ||
| + |                 } | ||
| + |             } | ||
| + | |||
| + |             if (exists) { | ||
| + |                 Console.WriteLine($"Число {k} было введено"); | ||
| + |             } else { | ||
| + |                 Console.WriteLine($"Число {k} не было введено"); | ||
| + |             } | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Является ли число N>1 простым? === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.Write("Введите целое число n (n>1):"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var n); | ||
| + | |||
| + | |||
| + | |||
| + |             Boolean isPrime = true; | ||
| + | |||
| + |             for(int i = 2; i < Math.Round(Math.Sqrt(n)); i++) { | ||
| + |                 if (n % i == 0) | ||
| + |                 { | ||
| + |                     isPrime = false; | ||
| + |                     break; | ||
| + |                 } | ||
| + |             } | ||
| + | |||
| + |             if (isPrime) { | ||
| + |                 Console.WriteLine($"Число {n} является простым"); | ||
| + |             } else { | ||
| + |                 Console.WriteLine($"Число {n} является составным"); | ||
| + |             } | ||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === Разложение числа на простые множители === | ||
| + | <syntaxhighlight lang="c#" line> | ||
| + | using System; | ||
| + | |||
| + | namespace Hello | ||
| + | { | ||
| + |     class Program | ||
| + |     { | ||
| + |         static void Main(string[] args) | ||
| + |         { | ||
| + |             Console.Write("Введите целое число x (x>1):"); | ||
| + |             string str = Console.ReadLine(); | ||
| + |             Int32.TryParse(str, out var x); | ||
| + | |||
| + |             int i = 2; | ||
| + |             Console.Write($"{x} = 1"); | ||
| + | |||
| + |             do | ||
| + |             { | ||
| + |                 if (x % i == 0) | ||
| + |                 { | ||
| + |                     Console.Write($" * {i}"); | ||
| + |                     x /= i; | ||
| + |                 } | ||
| + |                 else | ||
| + |                 { | ||
| + |                     i++; | ||
| + |                 } | ||
| + |             } while (x != 1); | ||
| + | |||
| + |         } | ||
| + |     } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
Текущая версия на 15:53, 20 июня 2022
Код программ
Сумма вводимых целых чисел
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.Write("Введите число слагаемых:");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var n);
12 
13             int sum = 0;
14             for(int i = 1; i <= n; i++) {
15                 Console.Write($"Введите слагаемое №{i}:");
16                 str = Console.ReadLine();
17                 Int32.TryParse(str, out var x);
18                 sum += x;
19             }
20 
21             Console.WriteLine($"Сумма равна {sum}");
22         }
23     }
24 }
Произведение целых чисел
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.Write("Введите число множителей:");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var n);
12 
13             int p = 1;
14             for(int i = 1; i <= n; i++) {
15                 Console.Write($"Введите множитель №{i}:");
16                 str = Console.ReadLine();
17                 Int32.TryParse(str, out var x);
18                 p *= x;
19             }
20 
21             Console.WriteLine($"Произведение равно {p}");
22         }
23     }
24 }
Сколько нечетных среди n введенных
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.Write("Введите количество чисел:");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var n);
12 
13             int count = 0;
14             for(int i = 1; i <= n; i++) {
15                 Console.Write($"Введите целое число:");
16                 str = Console.ReadLine();
17                 Int32.TryParse(str, out var x);
18                 if (x % 2 != 0) {
19                     count++;
20                 }
21             }
22 
23             Console.WriteLine($"Количество нечетных равно {count}");
24         }
25     }
26 }
Защита от неверного ввода
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             int x;
10             do {
11                 Console.WriteLine("Введите x>0:");
12                 string str = Console.ReadLine();
13                 Int32.TryParse(str, out x);
14                 if (x <= 0) {
15                     Console.WriteLine("Неверный ввод");
16                 }
17             } while (x <= 0);
18         }
19     }
20 }
Вывод 10 первых степеней двойки
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             int x = 2;
10             
11             for (int i = 1; i <= 10; i++) {
12                 Console.WriteLine($"{i,3} {x,5}");
13                 x *= 2;
14             }
15         }
16     }
17 }
Вывод всех двухзначных чисел, кратных 5
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             int x = 10;
10 
11             while (x < 100) {
12                 Console.WriteLine(x);
13                 x += 5;
14             }
15         }
16     }
17 }
Вывод n первых чисел Фибоначчи
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.WriteLine("Введите целое число n (n > 1):");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var n);
12 
13             int a = 0; int b = 1;
14             Console.Write($"{a} {b} ");
15             for (int i = 1; i <= n - 2; ++i) {
16                 int tmp = a;
17                 a = b;
18                 b += tmp;
19                 Console.Write($"{b} ");
20             }
21         }
22     }
23 }
Найти НОД(A,B), используя алгоритм Евклида:
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.WriteLine("Введите A:");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var a);
12             
13             Console.WriteLine("Введите B:");
14             str = Console.ReadLine();
15             Int32.TryParse(str, out var b);
16 
17 
18             while (b != 0) {
19                 int tmp = a;
20                 a = b;
21                 b = tmp % b;
22             }
23 
24             Console.WriteLine($"НОД(A, B) = {a}");
25         }
26     }
27 }
Найти сумму цифр целого числа m
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.WriteLine("Введите m:");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var m);
12             
13             int sum = 0;
14             int m1 = Math.Abs(m);
15 
16             while (m1 > 0) {
17                 sum += m1 % 10;
18                 m1 /= 10;
19             }
20 
21             Console.WriteLine($"Сумма цифр числа {m} равна {sum}");
22         }
23     }
24 }
Найти max из введенных чисел
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.Write("Введите целое число n (n>0):");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var n);
12             
13             Console.Write("Введите число №1:");
14             str = Console.ReadLine();
15             Int32.TryParse(str, out var x);
16 
17             int max = x;
18             
19             for(int i = 2; i <= n; i++) {
20                 Console.Write($"Введите число №{i}:");
21                 str = Console.ReadLine();
22                 Int32.TryParse(str, out x);
23                 if (x > max)
24                 {
25                     max = x;
26                 }
27             }
28 
29             Console.WriteLine($"Максимальное из введенных чисел: {max}");
30         }
31     }
32 }
Найти min, удовлетворяющее условию p(x)
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static Boolean p(int x)
 8         {
 9             return x > 0;
10         }
11         
12         static void Main(string[] args)
13         {
14             Console.Write("Введите целое число n (n>0):");
15             string str = Console.ReadLine();
16             Int32.TryParse(str, out var n);
17             
18             int min = int.MaxValue;
19             Boolean exists = false;
20             
21             for(int i = 1; i <= n; i++) {
22                 Console.Write($"Введите число №{i}:");
23                 str = Console.ReadLine();
24                 Int32.TryParse(str, out var x);
25                 if ((x < min) && p(x))
26                 {
27                     min = x;
28                     exists = true;
29                 }
30             }
31 
32             if (exists) {
33                 Console.WriteLine($"Минимальное из введенных чисел, удовлетворяющих условию: {min}");
34             } else {
35                 Console.WriteLine("Нет чисел, удовлетворяющих условию");
36             }
37         }
38     }
39 }
Есть ли среди введенных число k?
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.Write("Введите целое число n (n>0):");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var n);
12             
13             Console.Write("Введите целое число k:");
14             str = Console.ReadLine();
15             Int32.TryParse(str, out var k);
16             
17             Boolean exists = false;
18             
19             for(int i = 0; i < n; i++) {
20                 Console.Write($"Введите число №{i+1}:");
21                 str = Console.ReadLine();
22                 Int32.TryParse(str, out var x);
23                 if (x == k)
24                 {
25                     exists = true;
26                     break;
27                 }
28             }
29 
30             if (exists) {
31                 Console.WriteLine($"Число {k} было введено");
32             } else {
33                 Console.WriteLine($"Число {k} не было введено");
34             }
35         }
36     }
37 }
Является ли число N>1 простым?
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.Write("Введите целое число n (n>1):");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var n);
12             
13             
14             
15             Boolean isPrime = true;
16             
17             for(int i = 2; i < Math.Round(Math.Sqrt(n)); i++) {
18                 if (n % i == 0)
19                 {
20                     isPrime = false;
21                     break;
22                 }
23             }
24 
25             if (isPrime) {
26                 Console.WriteLine($"Число {n} является простым");
27             } else {
28                 Console.WriteLine($"Число {n} является составным");
29             }
30         }
31     }
32 }
Разложение числа на простые множители
 1 using System;
 2 
 3 namespace Hello
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             Console.Write("Введите целое число x (x>1):");
10             string str = Console.ReadLine();
11             Int32.TryParse(str, out var x);
12 
13             int i = 2;
14             Console.Write($"{x} = 1");
15 
16             do
17             {
18                 if (x % i == 0)
19                 {
20                     Console.Write($" * {i}");
21                     x /= i;
22                 }
23                 else
24                 {
25                     i++;
26                 }
27             } while (x != 1);
28 
29         }
30     }
31 }