Kirito505
30.08.2022 12:43

Роджер Вилко хочет добыть ключ из лабиринта, в который сам попасть не может, однако может запустить туда маленького робота. Робот знает команды:

Вверх (передвинуться на одну клетку вверх) Вниз (передвинуться на одну клетку вниз) Влево (передвинуться на одну клетку влево) Вправо (передвинуться на одну клетку вправо)

Команду, которую робот не может выполнить, он просто пропускает и переходит к следующей. У робота ограниченный объем памяти, поэтому Роджер может написать программу, состоящую только из четырех команд. Когда робот доходит до конца своей программы, он начинает ее заново. Когда робот оказывается в клетке, где лежит ключ, выполнение программы немедленно завершается.

Как Роджеру запрограммировать робота так, чтобы он попал из клетки S в клетку F, где лежит ключ?

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
rzd1
10.04.2022 16:45

я просто ищу все простые числа в диапазоне от 1 до n с решето эратосфена, а далее просто сравниваю вектор с простыми числами.

мой пример решения:

#include

#include

using namespace std;

int main()

{

    int n;

    cin > > n;

    vector prime (n+1, true);

    prime[0] = prime[1] = false;

    for (int i=2; i*i< =n; ++i)

        if (prime[i])

            for (int j=2; j< =n/i; j++)

                if (prime[i*j]) prime[i*j] = false;

    for(int i = 0; i < prime.size(); ++i)

    {

        for(int j = i; j < prime.size(); ++j)

        {

            if(prime[i]& & prime[j])

                if(i+j==n)

                    cout < < i < < " " < < j < < endl;

        }

    }

    cin.get();

    cin.get();

}

0,0(0 оценок)
Ответ:
kaaanrakun
10.04.2022 16:45

я просто ищу все простые числа в диапазоне от 1 до n с решето эратосфена, а далее просто сравниваю вектор с простыми числами.

мой пример решения:

#include

#include

using namespace std;

int main()

{

    int n;

    cin > > n;

    vector prime (n+1, true);

    prime[0] = prime[1] = false;

    for (int i=2; i*i< =n; ++i)

        if (prime[i])

            for (int j=2; j< =n/i; j++)

                if (prime[i*j]) prime[i*j] = false;

    for(int i = 0; i < prime.size(); ++i)

    {

        for(int j = i; j < prime.size(); ++j)

        {

            if(prime[i]& & prime[j])

                if(i+j==n)

                    cout < < i < < " " < < j < < endl;

        }

    }

    cin.get();

    cin.get();

}

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