info664
?>

Известно, что длина шифра кодового замка равна 5. для набора каждого символа кода используются 10 цифр. сколько различных комбинаций придется перебрать взломщику для подбора шифра, если он узнал, что код содержит ровно две семерки, не содержит 0 и 2, начинается с нечетной цифры?

Информатика

Ответы

Akopovich802

3 оставшихся числа не содержит 0, 2 и 7, т.е. остаток 10-3=7

возможные варианты: 1*1*7*7*7=343 для 1 позиции

1-число 7, 7 число (1,3,4,5,6,8,9)

возможные варианты

77711

77171

77117

71771

71717

71177

17771

17717

17177

11777

всего 343*10=3430 вариантов

ответ 3430

kush-2640
Лови решение, допилил

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

int main()
{
 /*
   Детский сад:
   id - номер детского сада;
   toylist - список игрушек в детском саду
 */
        struct house
        {
         unsigned id;
         vector<unsigned> toylist;
        };

    /*
      Игрушка:
      id - уникальный номер игрушки;
      name - название игрушки
    */
    struct toy
    {
        unsigned id;
        string name;
    };

    // Объявляем необходимые переменные
    vector<house> houses;
    vector<toy> toys;
    toy c_toy;
    house c_house;
    vector<unsigned> t_list;

    // Заполняем массив игрушек
    char ch='y';
    unsigned toy_id=1;
    string toy_name;
    do
    {
        cout <<toy_id <<"-я игрушка: ";
        getline(cin, toy_name);
        c_toy.id=toy_id;
        c_toy.name=toy_name;
        toys.push_back(c_toy);
        cout <<"Добавить ещё одну игрушку? (y/n): ";
        cin >>ch;
        cin.ignore();
        if((ch=='y') || (ch=='Y'))
          toy_id++;
    } while((ch=='y') || (ch=='Y'));

    // Выводим на экран список всех игрушек
    for(unsigned i=0; i<toys.size(); ++i)
    {
        cout <<"Игрушка " <<toys[i].id <<" - " <<toys[i].name <<endl;
    }

    // Заполняем данные по детским садам
    unsigned house_id=1;
    unsigned toy_num;
    do
    {
        cout <<house_id <<"-й детский сад. Введите номера игрушек: " <<endl;
        // Заполняем детский сад игрушками
        do
        {
            cin >>toy_num;
            t_list.push_back(toy_num);
            cout <<"Добавить еще? (y/n): ";
            cin >>ch;
            cin.ignore();
        } while((ch=='y') || (ch=='Y'));

        c_house.id=house_id;
        c_house.toylist = t_list;
        t_list.clear();
        houses.push_back(c_house);
        cout <<"Добавить ещё детский сад? (y/n): ";
        cin >>ch;
        if((ch=='y') || (ch=='Y')) house_id++;
    } while((ch=='y') || (ch=='Y'));

    // Выводим данные по всем детским садам
    for(unsigned i=0; i<houses.size(); ++i)
    {
      cout <<" Детсад √" <<houses[i].id <<" - игрушки: ";
      for(unsigned j=0; j<houses[i].toylist.size(); ++j)
        cout <<houses[i].toylist[j] <<" ";
      cout <<endl;
    }

    // Ищем игрушки, которые есть во всех детских садах
    unsigned t;
    bool founded = false;
    vector<unsigned> t1, t2;
    for(unsigned i=0; i<toys.size(); i++)
    {
        t=toys[i].id;
        for(unsigned j=0; j<houses.size(); j++)
        {
            for(unsigned k=0; k<houses[j].toylist.size(); k++)
            {
                if(t==houses[j].toylist[k])
                  founded = true;
            }
            if(founded) t1.push_back(t);
            founded = false;
        }
        unsigned h=houses.size();
        if(t1.size()==h)
          t2.push_back(t);
        t1.clear();
    }
    cout <<"Игрушки, которые есть во всех детских садах:" <<endl;
    for(unsigned i=0; i<t2.size(); ++i)
      for(unsigned j=0; j<toys.size(); ++j)
        if(t2[i]==toys[j].id)
          cout <<t2[i] <<" (" <<toys[j].name <<"), ";
    cout <<endl;

    // Ищем игрушки, которых нет ни в одном детском саду
    t1.clear();
    t2.clear();
    founded=false;
    for(unsigned i=0; i<toys.size(); i++)
    {
        t=toys[i].id;
        for(unsigned j=0; j<houses.size(); j++)
        {
            for(unsigned k=0; k<houses[j].toylist.size(); k++)
            {
                if(t==houses[j].toylist[k])
                  founded = true;
            }
            if(!founded) t1.push_back(t);
            founded = false;
        }
        unsigned h=houses.size();
        if(t1.size()==h)
          t2.push_back(t);
        t1.clear();
    }
    cout <<"Игрушки, которых нет ни в одном детском саду:" <<endl;
    for(unsigned i=0; i<t2.size(); ++i)
      for(unsigned j=0; j<toys.size(); ++j)
        if(t2[i]==toys[j].id)
          cout <<t2[i] <<" (" <<toys[j].name <<"), ";
    cout <<endl;

    return 0;
}

Тестовый прогон:
1-я игрушка: Барабан
Добавить ещё одну игрушку? (y/n): y
2-я игрушка: Кукла Барби
Добавить ещё одну игрушку? (y/n): y
3-я игрушка: Вертолет
Добавить ещё одну игрушку? (y/n): y
4-я игрушка: Конструктор
Добавить ещё одну игрушку? (y/n): y
5-я игрушка: Железная дорога
Добавить ещё одну игрушку? (y/n): y
6-я игрушка: Флейта
Добавить ещё одну игрушку? (y/n): y
7-я игрушка: Слон
Добавить ещё одну игрушку? (y/n): y
8-я игрушка: Самосвал
Добавить ещё одну игрушку? (y/n): y
9-я игрушка: Кран
Добавить ещё одну игрушку? (y/n): y
10-я игрушка: Пожарная машина
Добавить ещё одну игрушку? (y/n): n
Игрушка 1 - Барабан
Игрушка 2 - Кукла Барби
Игрушка 3 - Вертолет
Игрушка 4 - Конструктор
Игрушка 5 - Железная дорога
Игрушка 6 - Флейта
Игрушка 7 - Слон
Игрушка 8 - Самосвал
Игрушка 9 - Кран
Игрушка 10 - Пожарная машина
1-й детский сад. Введите номера игрушек:
1
Добавить еще? (y/n): y
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
2-й детский сад. Введите номера игрушек:
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
3-й детский сад. Введите номера игрушек:
1
Добавить еще? (y/n): y
2
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
4-й детский сад. Введите номера игрушек:
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): y
1
Добавить еще? (y/n): y
6
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): n
 Детсад √1 - игрушки: 1 2 3 4 5
 Детсад √2 - игрушки: 2 3 4
 Детсад √3 - игрушки: 1 2 4 5
 Детсад √4 - игрушки: 2 3 4 5 1 6
Игрушки, которые есть во всех детских садах:
2 (Кукла Барби), 4 (Конструктор),
Игрушки, которых нет ни в одном детском саду:
7 (Слон), 8 (Самосвал), 9 (Кран), 10 (Пожарная машина),
Для закрытия данного окна нажмите <ВВОД>...
happych551
Лови решение, допилил

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

int main()
{
 /*
   Детский сад:
   id - номер детского сада;
   toylist - список игрушек в детском саду
 */
        struct house
        {
         unsigned id;
         vector<unsigned> toylist;
        };

    /*
      Игрушка:
      id - уникальный номер игрушки;
      name - название игрушки
    */
    struct toy
    {
        unsigned id;
        string name;
    };

    // Объявляем необходимые переменные
    vector<house> houses;
    vector<toy> toys;
    toy c_toy;
    house c_house;
    vector<unsigned> t_list;

    // Заполняем массив игрушек
    char ch='y';
    unsigned toy_id=1;
    string toy_name;
    do
    {
        cout <<toy_id <<"-я игрушка: ";
        getline(cin, toy_name);
        c_toy.id=toy_id;
        c_toy.name=toy_name;
        toys.push_back(c_toy);
        cout <<"Добавить ещё одну игрушку? (y/n): ";
        cin >>ch;
        cin.ignore();
        if((ch=='y') || (ch=='Y'))
          toy_id++;
    } while((ch=='y') || (ch=='Y'));

    // Выводим на экран список всех игрушек
    for(unsigned i=0; i<toys.size(); ++i)
    {
        cout <<"Игрушка " <<toys[i].id <<" - " <<toys[i].name <<endl;
    }

    // Заполняем данные по детским садам
    unsigned house_id=1;
    unsigned toy_num;
    do
    {
        cout <<house_id <<"-й детский сад. Введите номера игрушек: " <<endl;
        // Заполняем детский сад игрушками
        do
        {
            cin >>toy_num;
            t_list.push_back(toy_num);
            cout <<"Добавить еще? (y/n): ";
            cin >>ch;
            cin.ignore();
        } while((ch=='y') || (ch=='Y'));

        c_house.id=house_id;
        c_house.toylist = t_list;
        t_list.clear();
        houses.push_back(c_house);
        cout <<"Добавить ещё детский сад? (y/n): ";
        cin >>ch;
        if((ch=='y') || (ch=='Y')) house_id++;
    } while((ch=='y') || (ch=='Y'));

    // Выводим данные по всем детским садам
    for(unsigned i=0; i<houses.size(); ++i)
    {
      cout <<" Детсад √" <<houses[i].id <<" - игрушки: ";
      for(unsigned j=0; j<houses[i].toylist.size(); ++j)
        cout <<houses[i].toylist[j] <<" ";
      cout <<endl;
    }

    // Ищем игрушки, которые есть во всех детских садах
    unsigned t;
    bool founded = false;
    vector<unsigned> t1, t2;
    for(unsigned i=0; i<toys.size(); i++)
    {
        t=toys[i].id;
        for(unsigned j=0; j<houses.size(); j++)
        {
            for(unsigned k=0; k<houses[j].toylist.size(); k++)
            {
                if(t==houses[j].toylist[k])
                  founded = true;
            }
            if(founded) t1.push_back(t);
            founded = false;
        }
        unsigned h=houses.size();
        if(t1.size()==h)
          t2.push_back(t);
        t1.clear();
    }
    cout <<"Игрушки, которые есть во всех детских садах:" <<endl;
    for(unsigned i=0; i<t2.size(); ++i)
      for(unsigned j=0; j<toys.size(); ++j)
        if(t2[i]==toys[j].id)
          cout <<t2[i] <<" (" <<toys[j].name <<"), ";
    cout <<endl;

    // Ищем игрушки, которых нет ни в одном детском саду
    t1.clear();
    t2.clear();
    founded=false;
    for(unsigned i=0; i<toys.size(); i++)
    {
        t=toys[i].id;
        for(unsigned j=0; j<houses.size(); j++)
        {
            for(unsigned k=0; k<houses[j].toylist.size(); k++)
            {
                if(t==houses[j].toylist[k])
                  founded = true;
            }
            if(!founded) t1.push_back(t);
            founded = false;
        }
        unsigned h=houses.size();
        if(t1.size()==h)
          t2.push_back(t);
        t1.clear();
    }
    cout <<"Игрушки, которых нет ни в одном детском саду:" <<endl;
    for(unsigned i=0; i<t2.size(); ++i)
      for(unsigned j=0; j<toys.size(); ++j)
        if(t2[i]==toys[j].id)
          cout <<t2[i] <<" (" <<toys[j].name <<"), ";
    cout <<endl;

    return 0;
}

Тестовый прогон:
1-я игрушка: Барабан
Добавить ещё одну игрушку? (y/n): y
2-я игрушка: Кукла Барби
Добавить ещё одну игрушку? (y/n): y
3-я игрушка: Вертолет
Добавить ещё одну игрушку? (y/n): y
4-я игрушка: Конструктор
Добавить ещё одну игрушку? (y/n): y
5-я игрушка: Железная дорога
Добавить ещё одну игрушку? (y/n): y
6-я игрушка: Флейта
Добавить ещё одну игрушку? (y/n): y
7-я игрушка: Слон
Добавить ещё одну игрушку? (y/n): y
8-я игрушка: Самосвал
Добавить ещё одну игрушку? (y/n): y
9-я игрушка: Кран
Добавить ещё одну игрушку? (y/n): y
10-я игрушка: Пожарная машина
Добавить ещё одну игрушку? (y/n): n
Игрушка 1 - Барабан
Игрушка 2 - Кукла Барби
Игрушка 3 - Вертолет
Игрушка 4 - Конструктор
Игрушка 5 - Железная дорога
Игрушка 6 - Флейта
Игрушка 7 - Слон
Игрушка 8 - Самосвал
Игрушка 9 - Кран
Игрушка 10 - Пожарная машина
1-й детский сад. Введите номера игрушек:
1
Добавить еще? (y/n): y
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
2-й детский сад. Введите номера игрушек:
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
3-й детский сад. Введите номера игрушек:
1
Добавить еще? (y/n): y
2
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): y
4-й детский сад. Введите номера игрушек:
2
Добавить еще? (y/n): y
3
Добавить еще? (y/n): y
4
Добавить еще? (y/n): y
5
Добавить еще? (y/n): y
1
Добавить еще? (y/n): y
6
Добавить еще? (y/n): n
Добавить ещё детский сад? (y/n): n
 Детсад √1 - игрушки: 1 2 3 4 5
 Детсад √2 - игрушки: 2 3 4
 Детсад √3 - игрушки: 1 2 4 5
 Детсад √4 - игрушки: 2 3 4 5 1 6
Игрушки, которые есть во всех детских садах:
2 (Кукла Барби), 4 (Конструктор),
Игрушки, которых нет ни в одном детском саду:
7 (Слон), 8 (Самосвал), 9 (Кран), 10 (Пожарная машина),
Для закрытия данного окна нажмите <ВВОД>...

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Известно, что длина шифра кодового замка равна 5. для набора каждого символа кода используются 10 цифр. сколько различных комбинаций придется перебрать взломщику для подбора шифра, если он узнал, что код содержит ровно две семерки, не содержит 0 и 2, начинается с нечетной цифры?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Маргарита1091
adrinalin991
Vladimir
kashihina
kas80
svetavalera
Espivak
megapolisgroup
Khlustikova_Borisovna
coleslow12
miumiumeaow
petrosyan35
kol-nat26
alexk13
shakmeev