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

Одномерный массив из N натуральных чисел

11.06.2021, 21:09. Показов 2523. Ответов 4

Студворк — интернет-сервис помощи студентам
Люди помогите!
Задан одномерный массив из N натуральных чисел. Найти и вывести на экран все пары элементов массива, являющиеся взаимно простыми (не имеющие общих делителей, кроме 1).

С массивами получилось, но они повторяются. [6, 7, 2, 10] я получаю в ответе 6 7 и 7 6, а нужно что-то одно. Проблема только в этом осталось
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
class ProstChisel:
    def __init__(self,n):#конструктор класса
        self.__n=n
        self.__value=self.matrix()
    def setN(self,newN):#свойство для получения n
        self.__n=newN
    def getN(self):#Свойтво для изменения значения n
        return self.__n
    def setValue(self,newValue):
        self.__value=newValue
    def getValue(self):
        return self.__value
    def matrix(self):#метод заполнят матрицу A(N) случайными целыми числами . 
        from random import randint
        value=[randint(1, 10) for i in range (self.__n)]
        
        return value
    def proverka(self):#метод проверяет являются ли взаимно-простыми элементы массива
        x=self.__value
        from math import gcd
        n=0
        c=""
        for i in (self.__value):
            y=i+1
            for y in self.__value:
                if i!=y:
                    if gcd(y,i)==1:
                        c+=str(i)+" "+str(y)+"\n"
        return x,c           
    def info(self):#вывод на экран массива и взаимно простых пар чисел
        x,y=self.proverka()
        print("массив элементов A(",self.__n,")")
        print(x)
        print("взаимно-простые пары элемнтов")
        print(y)
a=ProstChisel(5) #создание экземпляра класса      
a.info()#вывод на печать массива а
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2021, 21:09
Ответы с готовыми решениями:

Дан одномерный массив натуральных чисел
Дан одномерный массив натуральных чисел* Определить количество элементов массива, сумма цифр которых больше 7. Bсe вспомогательные...

Дан одномерный массив натуральных чисел
Дан одномерный массив натуральных чисел. Отсортировать его следующим образом: сначала поставить четные, а затем нечетные числа (в порядке...

Дан одномерный массив натуральных чисел
Дан одномерный массив натуральных чисел. Определить номера минимального и максимального элементов массива. Найти произведение их...

4
Заяц, просто Заяц.
 Аватар для Fury67
666 / 280 / 156
Регистрация: 12.11.2017
Сообщений: 882
11.06.2021, 21:16
Лучший ответ Сообщение было отмечено Kira_norman как решение

Решение

Если числа внутри списка не повторяются, то сделай второй цикл, который по y, по срезу self.__value[index + 1:], где index это порядковый номер элемента i.
А если числа внутри списка повторяются, то надо сначала разобраться с тем, нужно ли это повторение или нет.
1
0 / 0 / 0
Регистрация: 11.06.2021
Сообщений: 5
11.06.2021, 21:26  [ТС]
Fury67, Все работает, Спасибо большое добрый человек! <3
0
0 / 0 / 0
Регистрация: 25.01.2021
Сообщений: 13
12.06.2021, 00:49
Хорошо, что все обошлось
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,736
Записей в блоге: 14
12.06.2021, 08:13
Кошмарный код... А всего-то:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def task(arr):
    def gcd(a,b):
        if b==0:
            return a
        else:
            return gcd(b,a%b)
    n=len(arr)
    tmp=sorted(arr)
    res=[]
    for i in range(n-1):
        for j in range(i+1,n):
            if gcd(tmp[i],tmp[j])==1:
                res.append((tmp[i],tmp[j]))
    return res            
            
print(task([6,8,7,5,2,3,10,4]))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.06.2021, 08:13
Помогаю со студенческими работами здесь

Дан одномерный массив натуральных чисел
Дан одномерный массив натуральных чисел. Определить количество элементов массива, являющихся простыми числами. Вычислить факториал...

Дан одномерный массив натуральных чисел.
Дан одномерный массив натуральных чисел. Отсортировать его следующим образом: сначала поставить четные, а затем нечетные числа (в порядке...

Дан одномерный массив натуральных чисел (visual basic)
Помогите пожалуйста составить программу. Дан одномерный массив натуральных чисел. Определить, равны ли все числа между собой.(Visual...

Как мне ввести одномерный массив, представляющий собой строку всех натуральных чисел?
А подскажите, пожалуйста, как мне ввести одномерный массив, представляющий собой строку всех натуральных чисел? Не могу определиться с...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru