Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Никитос2003
0 / 0 / 0
Регистрация: 30.01.2018
Сообщений: 5
1

Определить массив чисел которые появятся при работе с этими числами по следующему алгоритму

13.01.2019, 12:29. Просмотров 304. Ответов 3

У меня есть одна задача, которую необходимо решить программой на Python

Имеется 11 чисел: 1, 2, 4, 8... 512, 1024 (степени числа два от ноля до десяти)

Необходимо определить массив чисел которые появятся при работе с этими числами по следующему алгоритму

1) Берут два числа, допустим 4 и 1

2) Эти два числа исчезают и образуется одно число разность большего от меньшего, здесь это 3

3) Так продолжается до того пока не останется одно число

Необходимо определить все возможные числа

Заранее благодарен
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2019, 12:29
Ответы с готовыми решениями:

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

Последовательно преобразовать этот массив согласно следующему алгоритму.
Дан одномерный массив вещественных положительных чисел. Последовательно преобразовать этот массив...

Последовательно преобразовать этот массив согласно следующему алгоритму
Дан одномерный массив вещественных положительных чисел. Последовательно преобразовать этот массив...

дан массив. Если ввести 2 целых числа, то массив в диапазоне между этими числами приобретет максимальное значение массива
дан массив. Если ввести 2 целых числа, то массив в диапазоне между этими числами приобретет...

Сумма всех целых чисел, лежащих между этими двумя числами
Напишите программу, запрашивающую у пользователя ввод двух целых чисел. Затем программа должна...

3
vlander
26 / 18 / 8
Регистрация: 23.10.2018
Сообщений: 50
Записей в блоге: 3
14.01.2019, 10:18 2
Уточните условие:
1. Числа из списка берутся в произвольном порядке, или как-то иначе?
2. Числа по п.2) образуют новый список, или добавляются в старый? И, соответственно, могут ли браться числа из исходного списка и результата п.2)?
0
Никитос2003
0 / 0 / 0
Регистрация: 30.01.2018
Сообщений: 5
14.01.2019, 16:53  [ТС] 3
1) Да в произвольном
2) Добавляются в старый, а те два числа удаляются

Добавлено через 14 минут
Например, 1) 1024-128 = 896 (1, 2, 4, 8, 16, 32, 64, 256, 512, 896)*в скобках то что осталось в массиве
2) 512-64=448 (1, 2, 4, 8, 16, 32, 256, 896, 448)
3) 256-32=224 (1, 2, 4, 8, 16, 896, 448, 224)
4) 16-2=14 (1, 4, 8, 896, 448, 224, 14)
5) 8-4=4 (1, 896, 448, 224, 14, 4)
6) 224-14=210 (1, 896, 448, 4, 210)
7) 448-210=238(1, 896, 4, 238)
8) 238-1 = 237(896, 4, 237)
9) 896-237 = 659(4, 659)
10) 659-4=655 (655)это всего один из вариантов, а нужно все и сразу
0
vlander
26 / 18 / 8
Регистрация: 23.10.2018
Сообщений: 50
Записей в блоге: 3
14.01.2019, 18:07 4
Как вариант
Python
1
2
3
4
5
6
7
8
import random
 
 
a = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
while len(a) > 1:
    b = abs(a.pop(random.randint(0, len(a)-1)) - a.pop(random.randint(0, len(a)-1)))
    a.append(b)
    print(b, a)
Добавлено через 22 минуты
Если уж совсем ...
Python
1
2
3
4
5
6
7
8
9
10
11
12
import random
 
 
a = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
while len(a) > 1:
    n1 = a.pop(random.randint(0, len(a) - 1))
    n2 = a.pop(random.randint(0, len(a) - 1))
    if n2 > n1:
        n1, n2 = n2, n1
    b = n1 - n2
    a.append(b)
    print("({0}-{1})={2}".format(n1, n2, b), a)
1
14.01.2019, 18:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2019, 18:07

A. Создать программу, которая заполняет массив 8 на 8 числами и по следующему правилу
2 3 4 5 6 7 8 9 3 4 5 6 7 8 9 10 4 5 6 7 8 9 ...

Создать программу, которая заполняет массив 9х5 числами по следующему правилу
Создать программу, которая заполняет массив 9х5 числами по следующему правилу: 1 0 -1 -2 -3 ...

создать программу которая заполняет массив 12х12 числами по следующему правилу
0 1 1 1 1 1 1 1 1 1 1 1 1 0 2 2 2 2 2 2 2 2 2 2 1 2 0 3 3 3 3 3 3 3 3 3 1 2 3 0 4 4 4 4 4 4 4...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru