минимальное количество - это итак понятно.. . 8... потому что каждое число находится не на своем месте.. . а вот как этого добиться - уже вопрос посложнее.. . тут ведь проблема не с кодом а с тем что думать надо.. .
как вариант можно поступить так: ищем минимальное нечетное и меняем его с первой позицией (оно ведь там должно стоять).. . затем ищем следующее ( n = n + 2 ) и меняем со второй.. . и так пока не пройдем весь цикл по четным числам.. .
у нас получится что-то типа:
1 3 5 7 4 8 6 2
конечно запоминаем позицию последнего изменения (в нашем случае 4 - у нас ведь 4 нечетных числа) и со следующей позиции (5-ой то есть) начинаем проверять все то же самое, но на четность.. . смотрим, теперь будем вставлять начиная не с первой позиции и не с начала массива чисел, а с 5-ой позиции до конца (до 8-ой).. . таким образом мы работать будем уже с последней частью - 4 8 6 2...
ищем минимальное четное и меняем его с тем что в первой позиции ( 2 8 6 4 ), затем следующее - 4-ка ( 2 4 6 8 )
в итоге вышло даже 6 перемещений.. . красотень.. .
скажу честно - задача заставляет подумать над решением.. . сам минут 5 рассуждал что да как )))
Другие языки программирования и технологии
Есть последовательность из восьми чисел: 7 4 2 8 3 1 6 5 Над этой последовательностью разрешено выполнять только о
Если менять можно любые произвольные элементы, то минимум - это 6 обменов (как вариант решение указано выше Александром) .
Хотя у меня программа выдала другой вариант перестановок, но так-же в 6 обменов.
Если же менять можно любую пару рядом стоящих элементов, то у меня получилось 16 :
74283165 - 72483165 - 72438165 - 72348165 - 73248165 - 37248165 - 37241865 - 37214865 - 37124865 - 31724865 - 13724865 - 13724685 - 13726485 - 13726458 - 13726548 - 13725648 - 13752648 - 13572648 - .
Хотя у меня программа выдала другой вариант перестановок, но так-же в 6 обменов.
Если же менять можно любую пару рядом стоящих элементов, то у меня получилось 16 :
74283165 - 72483165 - 72438165 - 72348165 - 73248165 - 37248165 - 37241865 - 37214865 - 37124865 - 31724865 - 13724865 - 13724685 - 13726485 - 13726458 - 13726548 - 13725648 - 13752648 - 13572648 - .
ЯП какой?
Длинный код получится, надо сидеть и думать, лучше поищи в интернете готовые решения
Это Паскаль, я так понял
Это Паскаль, я так понял
Похожие вопросы
- Помогите написать на ассемблере програму для вычисления виражения y=(c-(d/2)+33 )/(2*a*a-1). c=5,d=6,a=3.
- Для каких х, выражение (2^(2*2^х-3)-1) есть простое число? (^ - степень числа)
- Дана последовательность чисел : 3, 12, 6
- Вычислить произведение n>=2 (n четное) сомножителей y=(2/1)*(2/3)*(4/3)*(4/5)*(6/5)*(6/7)*..
- Как в цикле вывести последовательность чисел 7 и 0. Например 70, 707 , 700, 770.Цикл от 1 до 1000Язык не важен...
- Как перевести эти числа буду благодарен:1)0,2122(3)-?(10) 2)3,1415(10)-?(8) 3) 0,2122(8)-?(2) 4)0,1100011(2)-?(10) (((
- С++ Арифметические действия над числами пронумерованы следующим образом : 1-сложение, 2-вычитание, 3-умножение, 4-дел...
- С++..число 15%4 к какому типу переменой относится? а 8/5?..3/4? ..3/4?
- дано натуральное 5 значное число n.Сколько раз в данном числе встречаются цифры 4 или 8?
- Напишите задачу на C++. Найти, какая оценка наиболее часто встречалась на ЕГЭ. Входные данные: 1 1 1 2 2 3 1 3 4 5 3.