Алгоритмы (C-Sharp)
Версия от 17:05, 18 июня 2021; Безуглов Сергей (обсуждение | вклад) (→Сколько нечетных среди 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 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 = 1; 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 }