Задача 1: Игра
Помогите Пете еще упростить процесс отгадывания числа по заданной его первой цифре, написав соответствующую программу.
Игра
Решение:
using System;
using System.IO;
class Program
{
static void Main()
{
// Считываем входные данные
string input = File.ReadAllText("INPUT.TXT");
int K = int.Parse(input);
// Вычисляем число по заданной первой цифре
int number = 900 + (9 - K);
// Выводим результат в файл
File.WriteAllText("OUTPUT.TXT", number.ToString());
}
}
Результат работы:
5 594
2 297
7 792
Задача 2: Стрелки
Требуется найти количество стрел, которые спрятаны в этой последовательности. Стрелы – это подстроки вида ‘>>-->’ и ‘<--<<’.
Стрелки
Решение:
using System;
using System.IO;
class Program
{
static void Main()
{
// Считываем входные данные
string input = File.ReadAllText("INPUT.TXT");
// Инициализируем счетчик стрел
int arrowCount = 0;
// Проходим по строке и ищем подстроки '>>-->' и '<--<<'
for (int i = 0; i < input.Length - 4; i++)
{
if (input.Substring(i, 5) == ">>-->")
{
arrowCount++;
}
else if (input.Substring(i, 5) == "<--<<")
{
arrowCount++;
}
}
// Выводим результат в файл
File.WriteAllText("OUTPUT.TXT", arrowCount.ToString());
}
}
Результат работы:
<<<<>>--><--<<--<<>>>--><<<<< 4
Задача 3: Счастливый билет
Требуется написать программу, которая проверяет счастливость билета.
Счастливый билет
Решение:
using System;
using System.IO;
class Program
{
static void Main()
{
// Считываем входные данные
string input = File.ReadAllText("INPUT.TXT");
// Парсим входную строку в массив цифр
int[] numbers = new int[6];
for (int i = 0; i < 6; i++)
{
numbers[i] = input[i] - '0';
}
// Проверяем счастливость билета
int sumFirstHalf = numbers[0] + numbers[1] + numbers[2];
int sumSecondHalf = numbers[3] + numbers[4] + numbers[5];
// Выводим результат в файл
if (sumFirstHalf == sumSecondHalf)
{
File.WriteAllText("OUTPUT.TXT", "YES");
}
else
{
File.WriteAllText("OUTPUT.TXT", "NO");
}
}
}
Результат работы:
385916 YES
123456 NO
Задача 4: Последняя цифра A^B
Требуется написать программу, которая находит цифру, на которую оканчивается число A^B.
Последняя цифра A^B
Решение:
using System;
using System.IO;
class Program
{
static void Main()
{
// Считываем входные данные
string input = File.ReadAllText("INPUT.TXT");
string[] numbers = input.Split(' ');
int A = int.Parse(numbers[0]);
int B = int.Parse(numbers[1]);
// Инициализируем результат цифрой 1, так как любое число в степени 0 равно 1
int result = 1;
// Находим последнюю цифру числа A в степени B
for (int i = 0; i < B; i++)
{
result = (result * A) % 10;
}
// Записываем результат в файл
File.WriteAllText("OUTPUT.TXT", result.ToString());
}
}
Результат работы:
2 2 4
3 7 7
24 9 4
Задача 5: Сообщество роботов
Требуется написать программу, которая найдет количество роботов в начале N-го года.
Сообщество роботов
Решение:
using System;
using System.IO;
class Program
{
static void Main()
{
// Считываем входные данные
string input = File.ReadAllText("INPUT.TXT");
string[] numbers = input.Split(' ');
int K = int.Parse(numbers[0]);
int N = int.Parse(numbers[1]);
// Инициализируем массив для хранения количества роботов в каждом году
int[] robots = new int[N + 1];
robots[1] = K; // В начале первого года
// Вычисляем количество роботов в каждом году
for (int i = 2; i <= N; i++)
{
robots[i] = robots[i - 1] / 3 * 5 + robots[i - 1] / 5 * 9;
}
// Записываем количество роботов в N-м году в файл
File.WriteAllText("OUTPUT.TXT", robots[N].ToString());
}
}
Результат работы:
3 2 8
8 2 22