1 / 1 / 0
Регистрация: 24.05.2020
Сообщений: 72

Метод половинного деления

13.09.2020, 17:58. Показов 5202. Ответов 6

Студворк — интернет-сервис помощи студентам
Задание
Заполнить список из n элементов по формуле, соответствующей
вашему варианту задания. Размерность списка ввести с клавиатуры. Вывести
список на экран. Ввести с клавиатуры число. Используя метод половинного
деления определить индекс первого элемента с таким значением и
количество таких элементов. Если элемент с таким значением в списке
отсутствует вывести соответствующее сообщение.
Миниатюры
Метод половинного деления  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.09.2020, 17:58
Ответы с готовыми решениями:

Метод половинного деления
Здравствуйте. Прошу помощи в реализации метода половинного деления для решения

Метод половинного деления
Здравствуйте, помогите решить нелинейное уравнение методом половинного деления.

Метод половинного деления
Здравствуйте. Не буду долго тянуть, не могу решить, туговат для этого, нужна помощь. f(x)=0.25cosh(x)+4sin(x)-3.5 На Питоне,...

6
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
13.09.2020, 18:35
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
n = int(input())
# создание списка генератором
##################################
a = [(k+2) * (k+2) if not k%2 else (k+1) * (k+1) for k in range(n)]
##################################
# циклом
#################
a = []
for i in range(n) :
    k = i + 1
    if k % 2 == 1 :
        k +=1
    a.append(k * k)
#################
print(*a)
m = int(input())
# бинарный поиск
L = 0
R = n 
while R - L > 1 :
    M = (R + L) // 2
    if a[M] < m :
        L = M
    else :
        R = M
if a[R] == m :
    print(R + 1)
else :
    print('Такого числа в последовательности нет')
1
1 / 1 / 0
Регистрация: 24.05.2020
Сообщений: 72
13.09.2020, 18:48  [ТС]
Надо что-бы показывало,под какими индексами находятся схожие числа
1
1 / 1 / 0
Регистрация: 24.05.2020
Сообщений: 72
13.09.2020, 19:02  [ТС]
Вот так должно показывать.Как это сделать?
Миниатюры
Метод половинного деления  
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
13.09.2020, 19:17
Лучший ответ Сообщение было отмечено adad3123132 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
n = int(input('Размерность списка :'))
# генератором
##################################
a = [(k+2) * (k+2) if not k%2 else (k+1) * (k+1) for k in range(n)]
##################################
# циклом
#################
a = []
for i in range(n) :
    k = i + 1
    if k % 2 == 1 :
        k +=1
    a.append(k * k)
#################
print('a = ',a)
m = int(input('Значение, которое нужно найти в списке :'))
# бинарный поиск
L = -1
R = n 
while R - L > 1 :
    M = (R + L) // 2
    if a[M] < m :
        L = M
    else :
        R = M
if a[R] == m :
    kol = 1
    if R < n - 1 :
        kol += 1
    print('Количество :', kol)
    if R < n - 1 :
        print('Индексы :',R+1,'и',R+2)
    else :
        print('Индекс :',R+1)
else :
    print('Такого числа в последовательности нет')
Заодно нашел ошибку)
1
1 / 1 / 0
Регистрация: 24.05.2020
Сообщений: 72
13.09.2020, 19:21  [ТС]
Прошу прощение,но индекс с 0 начинается,где подправить?
Извиняюсь,исправил,сорри за беспокойство)
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,318
13.09.2020, 19:24
В задании на миниатюре с 1 начинается

Добавлено через 1 минуту
А так в 32-й и 34-й строках вместо R + 1 нужно просто R и вместо R + 2 нужно R + 1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2020, 19:24
Помогаю со студенческими работами здесь

Найти корень уравнения методом половинного деления
Здравствуйте, нужна программа на численные методы (на Python) : С ЭВМ уточнить корни уравнения методом половинного деления с точностью...

Найти корень уравнения на отрезке методом половинного деления
С помощью обычной функции найти корень из примера.

Найти приближенное значение квадратного корня из 2 методом половинного деления с точностью 0.000001
from math import sqrt(x) def f(x): return sqrt(x) - 10 left, right = 1.0, 2.0 accuracy = 0.000001 while (right -...

Метод половинного деления (метод деления отрезка пополам)
решите нелинейное уравнение в MS Exel. Метод пропорциональных отрезков (комбинированный метод хорд и касательных) ctg1.06x-x2=0

Метод половинного деления (метод деления отрезка пополам)
решите нелинейное уравнение в MS Exel. Метод половинного деления (метод деления отрезка пополам) ctg1.06x-x2=0


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru