123maladauskas
05.03.2021 04:27

Ваня придумал новый алгоритм сортировки и сейчас тренируется на кубиках с цифрами, чтобы понять, как он работает. перед ним на столе лежат кубики с числами от 1 до 10 (на каждом кубике записано одно число), выложенные в таком порядке: 8 9 10 4 5 6 1 7 2 3 за одну операцию ваня берет несколько рядом стоящих кубиков как одну конструкцию, переворачивает и кладет на прежнее место. например, если бы кубики лежали в таком порядке: 1 2 3 4 5 6 7 8 9 10, а ваня взял бы кубики начиная с кубика с цифрой 4 и заканчивая кубиком с цифрой 9 и перевернул бы, то получилась бы такая последовательность: 1 2 3 9 8 7 6 5 4 10. то, что какие-то кубики после выполнения подобных операций окажутся лежащими вверх ногами, ваню не смущает. кроме того, ваня различает кубик с цифрой 6 и кубик с цифрой 9 (они разного цвета, поэтому невозможно одну цифру получить из другой при перевороте). ване понять, какое наименьшее количество таких операций потребуется, чтобы кубики стали лежать в порядке возрастания: 1 2 3 4 5 6 7 8 9 10. комментарий. если бы у него было всего 4 кубика и они лежали в таком порядке: 4 1 3 2, то наименьшее количество операций было бы равно двум: сначала переворачиваем кусок из первых двух кубиков слева, получаем 1 4 3 2, затем переворачиваем кусок из трех кубиков справа, получаем 1 2 3 4.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
gratem04
20.03.2023 10:12
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    using namespace std;
    cout << "Enter size of array: ";
    int N;
    cin >> N;
    int * ARR = new int[N];
    srand(time(0));
    int i;
    for (i = 0; i < N; ++i)
        ARR[i] = rand() % 100 + 1;

    cout << "Here is an original array:\n";
    for (i = 0; i < N; ++i)
        cout << ARR[i] << "  ";
    cout << endl;

    int temp = ARR[N - 1];
    for (i = N - 1; i > 0; --i)
        ARR[i] = ARR[i - 1];
    ARR[0] = temp;

    cout << "\nHere is a new array:\n";
    for (i = 0; i < N; ++i)
        cout << ARR[i] << "  ";
    cout << endl;

    return 0;
}
0,0(0 оценок)
Ответ:
stolyarovsemen
22.04.2021 20:53
Program HardZadacha;
Var 1,2,3,4,5,6,7,8,9,0:array [0..5] of integer;
       a,i,x:integer;
begin
Writeln('Введите целое число :  ');
Read(a);
for i:=1 to 5 do
begin
if a mod 10 =0 then 0[i]:=0[i]+1;
if a mod 10 =1 then 1[i]:=1[i]+1;
if a mod 10 =2 then 2[i]:=2[i]+1;
if a mod 10 =3 then 3[i]:=3[i]+1;
if a mod 10 =4 then 4[i]:=4[i]+1;
if a mod 10 =5 then 5[i]:=5[i]+1;
if a mod 10 =6 then 6[i]:=6[i]+1;
if a mod 10 =7 then 7[i]:=7[i]+1;
if a mod 10 =8 then 8[i]:=8[i]+1;
if a mod 10 =9 then 9[i]:=9[i]+1;
a:=a mod 10;
end;

for i:=2 to 5 do
begin
if 0[i]+0[i-1]>1 then x:=1; 
if 1[i]+1[i-1]>1 then x:=1; 
if 2[i]+2[i-1]>1 then x:=1; 
if 3[i]+3[i-1]>1 then x:=1; 
if 4[i]+4[i-1]>1 then x:=1; 
if 5[i]+5[i-1]>1 then x:=1; 
if 6[i]+6[i-1]>1 then x:=1; 
if 7[i]+7[i-1]>1 then x:=1; 
if 8[i]+8[i-1]>1 then x:=1; 
if 9[i]+9[i-1]>1 then x:=1; 
end;
if x=1 then writeln('Есть повторяющие цифры') else writeln('Нет повторяющихся цифр');
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота