пятница, 12 декабря 2025 г.

 c++

76

#include <iostream>

#include <algorithm>

using namespace std;

int main() {

    double a, b, x, y, z;

    cin >> a >> b >> x >> y >> z;

    // впорядкуємо двері: a ≤ b

    if (a > b) swap(a, b);

    bool ok = false;

    // всі пари розмірів шафи

    double p[3] = {x, y, z};

    // перебираємо всі комбінації двох розмірів із трьох

    for (int i = 0; i < 3; i++) {

        for (int j = i + 1; j < 3; j++) {

            double w = p[i], h = p[j];

            // впорядкуємо пару: w ≤ h

            if (w > h) swap(w, h);


            if (w <= a && h <= b) ok = true;

        }

    }

    cout << (ok ? 1 : 0);

 }

4716
#include <iostream>

int main() {
  
    int n, k; 
   
    if (!(std::cin >> n >> k)) return 0;
      int apples_per_student = k / n; 
   
    std::cout << apples_per_student << std::endl;

}
4717

#include <iostream>

int main() {
   
    int n, k; 

    if (!(std::cin >> n >> k)) return 0;
    
    int remainder_apples = k % n; 

    std::cout << remainder_apples << std::endl;
}

4718
#include <iostream>
#include <string>

int main() {
      std::string name;
    if (!(std::cin >> name)) return 0;

     std::cout << "Hello, " << name << std::endl;
}

4719

#include <iostream>


int main() {

    // Оголошуємо змінні для координат:

    // r1, c1 - рядок та стовпець тури

    // r2, c2 - рядок та стовпець іншої фігури

    int r1, c1, r2, c2;


    // Введення чотирьох координат

    // r1

    if (!(std::cin >> r1)) return 0;

    // c1

    if (!(std::cin >> c1)) return 0;

    // r2

    if (!(std::cin >> r2)) return 0;

    // c2

    if (!(std::cin >> c2)) return 0;

    // Тура б'є фігуру, якщо їхні рядки збігаються (r1 == r2) 

    // АБО їхні стовпці збігаються (c1 == c2).

    if (r1 == r2 || c1 == c2) {

        std::cout << "YES" << std::endl;

    } else {

        std::cout << "NO" << std::endl;

    }

   }

4720

Сергійко буде щасливий ("HAPPY"), якщо обрана точка:

Належить чорному прямокутнику.

НЕ належить білому прямокутнику.

Інакше Сергійко буде засмучений ("SAD").

#include <stdio.h>

int main(void)
{
int x1,x2,x3,x4,y1,y2,y3,y4,x0,y0;
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
scanf("%d %d %d %d",&x3,&y3,&x4,&y4);
scanf("%d %d",&x0,&y0);
if ((x3 < x0)  && (x0 < x4)  && (y4 < y0)  && (y0 < y3))
  printf("SAD\n");
else if ((x1 <= x0) && (x0 <= x2) && (y2 <= y0) && (y0 <= y1))
  printf("HAPPY\n");
else printf("SAD\n"); 
}

4721

Для розв'язання цієї задачі вам потрібно порахувати, скільки разів цифра "5" зустрічається у номері квитка (n).

#include <iostream>

int main() {

    // n - номер квитка

    int n; 

        if (!(std::cin >> n)) return 0;

  

    int count = 0; 

    // Обробляємо число n, доки воно не стане нулем

    while (n > 0) {

             int digit = n % 10; 

        if (digit == 5) {

            count++; // Збільшуємо лічильник

        }

        n = n / 10; 

    }

    std::cout << count << std::endl;

}

4722

#include <iostream>

#include <string>

#include <vector>

#include <algorithm>


using namespace std;


// Функція для множення двох великих чисел, представлених рядками.

// Повертає результат множення як рядок.

string multiply_big_numbers(string num1, string num2) {

    int len1 = num1.length();

    int len2 = num2.length();

    

    // Якщо хоча б одне число 0, результат - "0"

    if (len1 == 0 || len2 == 0)

        return "0";


    // Вектор для зберігання результату множення. 

    // Розмір: len1 + len2 (максимально можлива кількість цифр)

    vector<int> result(len1 + len2, 0);


    // Індекси для відстеження позицій у result

    int i_n1 = 0;

    int i_n2 = 0;


    // Перебираємо цифри першого числа (num1) справа наліво

    for (int i = len1 - 1; i >= 0; i--) {

        int carry = 0;

        // Перетворюємо символ на цифру

        int n1 = num1[i] - '0';

        

        i_n2 = 0;

        

        // Перебираємо цифри другого числа (num2) справа наліво

        for (int j = len2 - 1; j >= 0; j--) {

            // Перетворюємо символ на цифру

            int n2 = num2[j] - '0';


            // Множення, додавання результату з попереднього розряду та перенесення

            int sum = n1 * n2 + result[i_n1 + i_n2] + carry;


            // Перенесення для наступної ітерації

            carry = sum / 10;


            // Зберігаємо останню цифру суми

            result[i_n1 + i_n2] = sum % 10;


            i_n2++;

        }


        // Зберігаємо останнє перенесення

        if (carry > 0)

            result[i_n1 + i_n2] += carry;


        i_n1++;

    }


    // Формуємо фінальний рядок результату


    // Визначаємо позицію першої ненульової цифри (видаляємо нулі на початку)

    int i = result.size() - 1;

    while (i >= 0 && result[i] == 0)

        i--;


    // Якщо всі цифри - нулі (наприклад, 0 * 5)

    if (i == -1)

        return "0";


    // Створюємо рядок результату

    string s = "";

    while (i >= 0)

        s += to_string(result[i--]);


    return s;

}


int main() {

    // Швидке введення/виведення

    ios_base::sync_with_stdio(false);

    cin.tie(NULL);


    int n_int, k_int;

    

    // Введення N

    if (!(cin >> n_int)) return 0;

    

    // Введення K

    if (!(cin >> k_int)) return 0;


    // Обробка крайнього випадку: якщо n = 0, то n повторене k разів - це 0. 0^2 = 0.

    if (n_int == 0) {

        cout << 0 << endl;

        return 0;

    }


    // 1. Формування великого числа X

    string n_str = to_string(n_int);

    string X = "";

    for (int i = 0; i < k_int; ++i) {

        X += n_str;

    }

    // 2. Піднесення до квадрату: X * X

    string result = multiply_big_numbers(X, X);

    // Виведення результату

    cout << result << endl;

 }

4740

#include <iostream>

#include <vector>

#include <algorithm>


using namespace std;


int main() {

    // Швидке введення/виведення

    ios_base::sync_with_stdio(false);

    cin.tie(NULL);


    int N; // Кількість мешканців

    

    // Введення N

    if (!(cin >> N)) return 0;


    // Створюємо вектор для підрахунку частоти віку. 

    // Розмір 1001 для віку від 0 до 1000 включно.

    vector<int> counts(1001, 0);


    int age;

    // 1. Підрахунок частоти

    for (int i = 0; i < N; ++i) {

        if (!(cin >> age)) return 0;

        

        // Перевірка на діапазон (хоча за умовою це гарантовано)

        if (age >= 0 && age <= 1000) {

            counts[age]++;

        }

    }


    // 2. Пошук моди (віку з максимальною частотою)

    int max_count = -1;

    int mode_age = -1; // Змінна для зберігання віку-моди


    // Проходимо по масиву віку від 0 до 1000. 

    // Це ГАРАНТУЄ, що у випадку однакової частоти буде обрано НАЙМЕНШИЙ вік.

    for (int current_age = 0; current_age <= 1000; ++current_age) {

        // Отримуємо частоту поточного віку

        int current_count = counts[current_age];

        

        // Якщо поточна частота більша за максимальну, оновлюємо максимум та вік

        if (current_count > max_count) {

            max_count = current_count;

            mode_age = current_age;

        }

        // Умова "current_count == max_count" тут не перевіряється, 

        // оскільки нам потрібен лише найменший вік.

    }


    // 3. Виведення результату

    cout << mode_age << endl;


    return 0;

}



Комментариев нет:

Отправить комментарий