Назад Вперед Зміст

Задачі з числами

У цьому розділі наведені задачі на роботу з числами в тексті. Числа можуть вилучатися зі строки для подальшої обробки за відомими алгоритмами (сортування, пошук, знаходження максимального тощо) або, навпаки, числа потрібно вставити у рядок для подальшого виводу на екран чи у файл.

Для вибору чисел зі строки та формування рядкового масиву чисел використовується метод Split.

Приклад 1

Дано рядок, що містить цілі числа через пробіл. Знайти суму цих чисел.

Результат роботи програми

Програма

static void Main(string[] args)
{
    // Отримання вхідного рядка чисел від користувача
    string s = Console.ReadLine();
    
    // Розділення рядка на масив рядків (чисел) за пробілами
    string[] sl = s.Split(' ');
    
    // Оголошення змінних:
    int i;          // Лічильник циклу
    int chislo;     // Поточне число
    int summa = 0;  // Сума чисел (ініціалізована нулем)
    int L = sl.Length;  // Кількість чисел у масиві
    
    // Обчислення суми всіх чисел
    for (i = 0; i < L; i++)
    {
        // Конвертація рядка у число
        chislo = Convert.ToInt32(sl[i]);  // Виправлено помилку (s1 → sl)
        
        // Додавання числа до загальної суми
        summa = summa + chislo;
    }
    
    // Виведення суми чисел
    Console.WriteLine(summa);
    
    // Очікування натискання клавіші перед завершенням
    Console.ReadKey();
}

Приклад 2

Сформувати рядок, який містить перші 10 простих чисел.

Результат роботи програми

Програма

static void Main(string[] args)
{
    string st = "";  // Рядок для зберігання простих чисел
    int k = 0;       // Лічильник знайдених простих чисел
    int n = 0;       // Поточне число для перевірки
    
    do
    {
        n++;  // Перехід до наступного числа
        int m = 0;  // Лічильник дільників
        
        // Перевірка чи є число простим
        for (int i = 1; i <= n; i++)
        {
            if (n % i == 0) m++;  // Якщо i є дільником n
        }
        
        // Якщо кількість дільників ≤ 2 (1 і саме число)
        if (m <= 2)
        {
            st = st + Convert.ToString(n) + " ";  // Додаємо число до рядка
            k++;  // Збільшуємо лічильник простих чисел
        }
    }
    while (k < 10);  // Повторюємо, поки не знайдемо 10 простих чисел
    
    // Виведення результатів
    Console.WriteLine(st);  // Виводимо всі знайдені прості числа
    
    // Очікування натискання клавіші
    Console.ReadKey();
}

Варіанти задач

Варіант 1

  1. Дано рядок із цілими числами через пробіл. Знайти їхній добуток.
  2. Сформувати рядок, який містить перші 10 трицифрових чисел, що містять цифру 7 і кратні 7.

Варіант 2

  1. Дано рядок із цілими числами через пробіл. Знайти кількість парних чисел.
  2. Сформувати рядок, що містить перші 15 трицифрових чисел, середня цифра яких дорівнює сумі першої і останньої цифр.

Варіант 3

  1. Дано рядок із цілими числами через пробіл. Знайти суму чисел, кратних 5.
  2. Сформувати рядок, який містить перші 10 трицифрових чисел, сума цифр яких кратна 20.

Варіант 4

  1. Дано рядок із цілими числами через пробіл. Знайти мінімальне з них.
  2. Сформувати рядок, що містить перші 15 двоцифрових чисел, кратних сумі своїх цифр.

Варіант 5

  1. Дано рядок із цілими числами через пробіл. Виділити числа у масив і вивести масив у зворотному порядку.
  2. Сформувати рядок, який містить перші 10 чисел з інтервалу [1; 50], кратних 5 або 7.

Варіант 6

  1. Дано рядок із цілими числами через пробіл. Помножити всі числа на 3.
  2. Сформувати рядок, який містить перші 3 двоцифрові числа, для яких удвічі більша сума цифр дорівнює добутку цифр.

Варіант 7

  1. Дано рядок із цілими числами через пробіл. Чи всі вони додатні?
  2. Сформувати рядок, що містить перші 10 чисел з інтервалу [100; 150], у яких усі три цифри різні.

Варіант 8

  1. Дано рядок із цілими числами через пробіл. Чи є серед них кратні 3?
  2. Сформувати рядок, що містить перші 15 чисел з інтервалу [200; 400], у записі яких є цифра 5.

Варіант 9

  1. Дано рядок. Якщо це коректний запис цілого числа — перевірити, чи міститься в ньому цифра 5. Інакше повідомити, що це не число.
  2. Сформувати рядок, що містить перші 10 щасливих чотирицифрових чисел (сума перших двох цифр дорівнює сумі останніх двох; напр., 3241).

Варіант 10

  1. Дано рядок. Якщо це ціле число — знайти найменшу цифру. Інакше повідомити, що це не число.
  2. Сформувати рядок, який містить перші 15 чисел з інтервалу [200; 400], що мають рівно дві однакові цифри.

Варіант 11

  1. Дано рядок. Якщо це ціле число — перевірити, чи воно додатне. Інакше повідомити, що це не число.
  2. Сформувати рядок із 10 випадкових чисел з інтервалу [50; 150].

Варіант 12

  1. Дано рядок. Якщо це ціле число — перевірити, чи воно парне. Інакше повідомити, що це не число.
  2. Сформувати рядок із перших 20 непарних двоцифрових чисел, які починаються з парної цифри.

Варіант 13

  1. Дано рядок. Якщо це ціле число — перевірити, чи воно від’ємне. Інакше повідомити, що це не число.
  2. Дано рядок, що містить цифри і літери. Сформувати новий рядок, де цифри замінені словами. Наприклад: «У класі 15 комп’ютерів» → «У класі один п’ять комп’ютерів».

Варіант 14

  1. Дано рядок. Якщо це дійсне число — перевірити, чи належить воно інтервалу [0; 1]. Інакше повідомити, що це не дійсне число.
  2. Сформувати рядок із перших 20 чисел Фібоначчі.

Варіант 15

  1. Дано рядок. Повідомити: це ціле додатне число (23, +8…), ціле від’ємне число (-23, -8…), дійсне додатне число (23.5, +34.25), дійсне від’ємне число (-23.5), чи не число?
  2. Сформувати рядок із перших 30 шестизначних симетричних чисел (100100, 101101, …).

Варіант 16

  1. Дано рядок, що є алгебраїчною сумою однозначних чисел (напр., -5-3+8+4). Обчислити суму.
  2. Сформувати рядок із перших 30 чотирицифрових паліндромів (1001, 1111, 1221…).

Варіант 17

  1. Дано рядок, що є алгебраїчною сумою чисел довільної довжини (напр., -5-13+128-4153). Обчислити суму.
  2. Дано натуральне число. Якщо воно менше за 10000, сформувати рядок з його написанням українською мовою. Наприклад, 2345 → «дві тисячі триста сорок п’ять».

Назад Вперед Зміст