В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
julss11
julss11
21.04.2020 14:44 •  Информатика

(можно использовать только одномерные массивы, циклы, условия и строки) Билет считается счастливым, если в его n-значном номере сумма первых [n/2] цифр равна сумме [n/2] последних цифр (при нечетном n центральная цифра в “проверке на счастье” не участвует и может быть любой). Подсчитайте число счастливых билетов с различными n-значными номерами (ведущие нули в номерах возможны, но номера, состоящего из одних нулей, не существует).

Входные данные
На вход программе подается натуральное число n < 16.

Выходные данные
Выведите количество n-значных счастливых билетов.

Примеры
входные данные
1
выходные данные
9
входные данные
2
выходные данные
9

Показать ответ
Ответ:
Sezimturatbeko
Sezimturatbeko
25.06.2020 11:53
Думаю, логика у нас здесь будет такая: нужно разложить данные три числа на простые сомножители. Получится:
132 = 2 * 2 * 3 * 11
106 = 2 * 53
134 = 2 * 67
Что у них есть общего - то можно откинуть, потому что количество кругов будет при общих сомножителях делиться без остатка. Собрать в ответ нужно следующее:
от первого - 2 * 2 * 3 * 11
от второго - 53 (двойку не берём, потому что она уже взята с первым)
от третьего - 67 (двойку опять не берём)

Получается: 2 * 2 * 3 * 11 * 53 * 67 = 468732 секунды. Это, как я думаю, ответ.

При этом (чисто для сведения), до момента встречи:
первый намотает 3551 круг
второй - 4422 круга
третий - 3498 кругов.
0,0(0 оценок)
Ответ:
Weirdy
Weirdy
12.02.2020 10:41
/*
C++ compiler
gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010
Copyright (C) 2015 Free Software Foundation, Inc.
*/

#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int count = 0;
    cout <<"Введите количество призывников: ";
    cin >>count;
    if (count>17) count=17;
    vector<int> tanks(count);
    for (unsigned i=0; i<tanks.size(); i++) cin >>tanks[i];
    int min=300, max=0;
    for (unsigned i=0; i<tanks.size(); i++)
    {
        if (min>tanks[i]) min=tanks[i];
        if (max<tanks[i]) max=tanks[i];
    }
    int cnt=0;
    for (unsigned i=0; i<tanks.size(); i++)
    {
        if ((tanks[i]!=min) and (tanks[i]!=max)) cnt++;
    }

    cout <<cnt <<endl;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота