Помогите пжл, понять эту задачу.
(0, 1,...k-1,k+1,...n) как это понять?
Другие языки программирования и технологии
Определить число k, которое отсутствует в неупорядоченном массиве чисел (0, 1,...k-1,k+1,...n) за один цикл
ну что тут понимать : есть n+1 последовательных, но не упорядоченных чисел от нуля до эн, все по разу присутствуют в масиве, а одно число пропущено.. . берите из исходного масива каждое число по очереди, и ставьте на свое место в новом массиве от нуля до эн.. . потом пройти надо этот массив и посмотреть какое место свободное осталось. . тока так 2 прохода получается, может как-то ловчей за один проход можно сделать - хз ))))
(0, 1,...k-1,k+1,...n) - все целые числа от нуля до n. Одно из них будет отсутствовать.
ну смотри
сумма от 0 до n будет (n+1)*n/2
все элементы вычитаешь из суммы
сколько осталось - того и нет
сумма от 0 до n будет (n+1)*n/2
все элементы вычитаешь из суммы
сколько осталось - того и нет
наскреб тут пару вариантов решения
писал на 1С
// вариант 1
пробегаем по массиву чисел в одном цикле, и сверяем
значение числа с индексом, исходя из задачи они должны быть равны
если значение не равно индексу, то мы как раз и перепрыгнули отсутствующее число
т. е. оно на единицу меньше индекса
Для x = 0 По n Цикл
Если mas[x] <> x Тогда
k = mas[x]-1;
Прервать;
КонецЕсли;
КонецЦикла;
// вариант 2
как говорил "Зло" сумма считается по формуле, соответственно сначала получаем сумму чисел массива и вычитаем ее из суммы по формуле, получаем пропавшее число
Sum = 0;
Для x = 0 По n Цикл
Sum = Sum + mas[x];
КонецЦикла;
k = (n+1)*n/2-Sum;
писал на 1С
// вариант 1
пробегаем по массиву чисел в одном цикле, и сверяем
значение числа с индексом, исходя из задачи они должны быть равны
если значение не равно индексу, то мы как раз и перепрыгнули отсутствующее число
т. е. оно на единицу меньше индекса
Для x = 0 По n Цикл
Если mas[x] <> x Тогда
k = mas[x]-1;
Прервать;
КонецЕсли;
КонецЦикла;
// вариант 2
как говорил "Зло" сумма считается по формуле, соответственно сначала получаем сумму чисел массива и вычитаем ее из суммы по формуле, получаем пропавшее число
Sum = 0;
Для x = 0 По n Цикл
Sum = Sum + mas[x];
КонецЦикла;
k = (n+1)*n/2-Sum;
Похожие вопросы
- Помогите написать программу Дано натуральное число n. Вычислить сумму всех k(k+1), k меняется от 1 до n.
- Определить является ли кол-во положительных элементов массива числом чётных
- Lazarus. Даны действительные числа a1,a2,.,a2n . Получить: a1,a2n,a2,a2n-1,a3,.,an,an+1
- Напишите функцию, которая возвращает среднее арифметическое целых чисел i, j,k,m
- Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания. Pascal
- ПОМОГИТЕ! Нужны числа от 1 до 1 000 000 в таком порядке:. 1 2 3 4 5 6 7
- вычислить ряд 1/2+1/3+1/4... с точностью 0,1 в Турбо Паскаль. срочно, пожалуйста помогите!!!
- Найти сумму числового ряда с заданной точность епсилон (вводится пользователем): S = 1+1/22+ 1/32+ 1/42+ 1/52+ …
- Помогите расположить в порядке убывания. 1024 бита, 1000 байтов, 1 бит, 1 байт, 1 Кбайт
- Помогите составить блок схему. Данны целые числа n, k (n>=k>=0). Вычислить n(n-1)*(n-2)... (n-k-1)/k!