Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 39

Как вычислить произведение четных элементов верхней треугольной матрицы?

04.10.2020, 11:31. Показов 2387. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!! Только начинаю изучать Python, и никак не могу понять как это сделать?
ПОМОГИТЕ ПОЖАЛУЙСТА!!

·Вычислить произведение четных элементов верхней треугольной матрицы.

·Найти элемент и его индексы, сумма цифр которого максимальна.

·Найти номера строк матрицы, суммы произведений ненулевых цифр которых делятся на 5.

БУДУ ОЧЕНЬ БЛАГОДАРЕН!!!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.10.2020, 11:31
Ответы с готовыми решениями:

Вычислить сумму элементов верхней треугольной матрицы
Вычислить сумму элементов верхней треугольной матрицы. Найти наибольшие элементы каждой строки матрицы. Найти наибольшую сумму...

Определить массив из сумм чётных элементов соответствующих строк верхней треугольной матрицы.
Программа должна запрашивать имена входного и выходного файлов. Программа должна осуществлять ввод исходной матрицы A из файла. Матрица...

Вычислить сумму элементов верхней треугольной матрицы
Вот такие у меня задания, я в принципе написала кое-что, но всё не продумала, помогите плиз, буду сравнивать и учиться;) • Вычислить...

6
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
04.10.2020, 13:38
Ullbemine, если только начал:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random
n = int(input())
matrix = [[random.randint(-100,100) for i in range(n)] for j in range(n)]
mult = 1
res = []
ijmax = 2 * max((sum(int(i) for i in str(m)) for m in range(int(n))))
for j in range(n) :
    jsum = [int(k) for k in str(j)]
    for i in range(j,n) :
        isum = [int(k) for k in str(i)]
        if not matrix[j][i] % 2 and matrix[j][i] != 0 :
            mult *= matrix[j][i]
        if sum(jsum) + sum(isum) == ijmax :
            res.append((j,i,matrix[j][i]))
for i in matrix :
    print(*i)
print(mult)
for i in res :
    print(*i)
Добавлено через 56 секунд
Непонятно последнее задание - сумма произведений чего именно?
1
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 39
04.10.2020, 15:49  [ТС]
Нужно найти такую строку в матрице, где сумма всех не нулевых элементов будет делиться на 5. А еще при этом, если есть числа двузначные или больше, то их сначала перемножать, а потом уже с другими складывать. Например строка 1 22 3 будет так 1 + 2*2 + 3. И найти индекс той строки, где возможно деление на 5

Добавлено через 49 секунд
огроменное спасибо тебе за ответ! буду сидеть и разбираться, как работает код
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
04.10.2020, 17:55
Ullbemine, тогда похоже и второе задание - сумма цифр элемента массива, а не сумма цифр его индекса?

Добавлено через 1 минуту
И в третьем:
А если элементы 1 20 3, то сумма = 1 + 2*0 + 3? Или 1 + 2 + 3

Добавлено через 36 минут
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
import random
n = int(input())
matrix = [[random.randint(-100,100) for i in range(n)] for j in range(n)]
mult = 1
res = sum([int(h) for h in str(abs(matrix[0][0]))])
jk, ik = 0, 0
row5 = []
for j in range(n) :
    sum5 = 0
    for i in range(j,n) :
        # произведение четных элементов
        if not matrix[j][i] % 2 and matrix[j][i] != 0 :
            mult *= matrix[j][i]
        # нахождение элемента с макс суммой цифр
        elsum = sum([int(h) for h in str(abs(matrix[j][i]))])
        if elsum > res :
            res = elsum
            jk = j 
            ik = i
        # определение индекса строк кратных 5
        if abs(matrix[j][i]) > 9 :
            pr = 1
            for t in str(abs(matrix[j][i])) :
                if int(t) :
                    pr *= int(t)
            sum5 += pr * (1 if matrix[j][i] > 0 else -1)
        else :
            sum5 += matrix[j][i]
    if sum5 % 5 == 0 :
        row5.append(j)
 
for i in matrix :
    print(*i)
print(mult)
print(res,jk,ik)
print(*row5)
Все три задания только(!) для верхней треуг матрицы. Если второе и третье для всей матрицы, то надо переделывать...
1
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 39
04.10.2020, 19:37  [ТС]
да, если элементы 1 20 3, то сумма = 1 + 2*0 + 3, первый вариант
блин, скорее всего 2 и 3 задания относятся ко всей матрице((
Ты не человек. Ты человечище!!!! Правда, спасибо тебе, друг
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
04.10.2020, 20:39
Лучший ответ Сообщение было отмечено Ullbemine как решение

Решение

Ullbemine, Вся матрица с произведением в треуг части
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
37
38
39
import random
n = int(input())
matrix = [[random.randint(-100,100) for i in range(n)] for j in range(n)]
mult = 1
res = sum([int(h) for h in str(abs(matrix[0][0]))])
jk, ik = 0, 0
row5 = []
for j in range(n) :
    sum5 = 0
    for i in range(n) :
        # произведение четных элементов
        if not matrix[j][i] % 2 and matrix[j][i] != 0 and i >= j :
            mult *= matrix[j][i]
        # нахождение элемента с макс суммой цифр
        elsum = sum([int(h) for h in str(abs(matrix[j][i]))])
        if elsum > res :
            res = elsum
            jk = j 
            ik = i
        # определение индекса строк кратных 5
        # произведение цифр числа можно сделать так
        # from functools import reduce - ставится в шапке кода
        # pr = reduce(lambda x, y: int(x)*int(y), str(abs(matrix[j][i])))
        
        if abs(matrix[j][i]) > 9 :
            pr = 1
            for t in str(abs(matrix[j][i])) :
                pr *= int(t)
            sum5 += pr * (1 if matrix[j][i] > 0 else -1)
        else :
            sum5 += matrix[j][i]
    if sum5 % 5 == 0 :
        row5.append(j)
 
for i in matrix :
    print(*i)
print(mult)
print(res,jk,ik)
print(*row5)
1
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 39
04.10.2020, 20:57  [ТС]
СПАСИБО!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2020, 20:57
Помогаю со студенческими работами здесь

Произведение всех элементов нижней треугольной матрицы, которые меньше минимального элемента верхней
Добрый день, форумчане. У меня задание: Составить программу, находящую в квадратной матрице F(m, m), m<=10 произведение всех...

Для верхней треугольной матрицы вычислить сумму элементов каждого столбца
Даны две прямоугольные матрицы. Для верхней треугольной матрицы вычислить сумму элементов каждого столбца. Результат вывести на печать....

Вычислить сумму элементов верхней треугольной матрицы, включая элементы ее главной диагонали
Задана матрица А(5, 5). Вычислить сумму элементов верхней треугольной матрицы, включая элементы ее главной диагонали. Преобразовать...

Вычислить сумму элементов верхней треугольной матрицы для трех исходных матриц
Доброго времени суток) помогите пожалуйста)) Вычислить сумму элементов верхней треугольной матрицы для трех исходных матриц.

Найти произведение элементов, расположенных в верхней треугольной матрице
Дан двумерный массив a, размером (nn) (или квадратная матрица а). Найти произведение элементов, расположенных в верхней треугольной...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru