Алгоритмы (C-Sharp): различия между версиями
Перейти к навигации
Перейти к поиску
(не показано 17 промежуточных версий этого же участника) | |||
Строка 3: | Строка 3: | ||
=== Сумма вводимых целых чисел === | === Сумма вводимых целых чисел === | ||
<syntaxhighlight lang="c#" line> | <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> | ||
=== Произведение целых чисел === | === Произведение целых чисел === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Сколько нечетных среди n введенных === | === Сколько нечетных среди n введенных === | ||
<syntaxhighlight lang="c#" line> | <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> | ||
=== Защита от неверного ввода === | === Защита от неверного ввода === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Вывод 10 первых степеней двойки === | === Вывод 10 первых степеней двойки === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Вывод всех двухзначных чисел, кратных 5 === | === Вывод всех двухзначных чисел, кратных 5 === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Вывод n первых чисел Фибоначчи === | === Вывод n первых чисел Фибоначчи === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Найти НОД(A,B), используя алгоритм Евклида: === | === Найти НОД(A,B), используя алгоритм Евклида: === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Найти сумму цифр целого числа m === | === Найти сумму цифр целого числа m === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Найти max из введенных чисел === | === Найти max из введенных чисел === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Найти min, удовлетворяющее условию p(x) === | === Найти min, удовлетворяющее условию p(x) === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Есть ли среди введенных число k? === | === Есть ли среди введенных число k? === | ||
<syntaxhighlight lang="c#" line> | <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> | </syntaxhighlight> | ||
=== Является ли число N>1 простым? === | === Является ли число N>1 простым? === | ||
<syntaxhighlight lang="c#" line> | <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> | ||
=== Разложение числа на простые множители === | === Разложение числа на простые множители === | ||
<syntaxhighlight lang="c#" line> | <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> | </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 }