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

Определите количество троек последовательности, в которых хотя бы один элемент является пятизначным числом

23.01.2025, 18:55. Показов 6222. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В файле 17-426.txt содержится последовательность целых чисел, не превышающих по модулю 100 000. Определите количество троек последовательности, в которых хотя бы один элемент является пятизначным числом и оканчивается на 43, а сумма квадратов элементов тройки не больше квадрата максимального элемента последовательности, являющегося пятизначным числом и оканчивающегося на 43. Гарантируется, что такой элемент в последовательности есть.
В ответе запишите количество найденных троек, затем минимальную из сумм квадратов элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

я написал код, но количество неверное. Хз в чем беда, все вроде верно сделал, если нужен файл из задачи: https://kpolyakov.spb.ru/cms/f... 17-426.txt

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
a = [x.replace('\n', '') for x in open('1.txt')]
 
 
def f(x):
    if len(x) == 5 and x[-2:] == '43':
        return True
 
 
maxx = -100_001
 
for j in range(len(a)):
    if f(a[j]):
        if maxx < int(a[j]):
            maxx = int(a[j])
count = 0
summ = 10**10
for i in range(len(a) - 2):
    if f(a[i]) or f(a[i + 1]) or f(a[i + 2]):
        if int(a[i]) ** 2 + int(a[i + 1]) ** 2 + int(a[i + 2]) ** 2 <= maxx ** 2:
            count += 1
            if summ > int(a[i]) ** 2 + int(a[i + 1]) ** 2 + int(a[i + 2]) ** 2:
                summ = int(a[i]) ** 2 + int(a[i + 1]) ** 2 + int(a[i + 2]) ** 2
print(count, summ)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.01.2025, 18:55
Ответы с готовыми решениями:

Определите сначала количество троек элементов последовательности, в которых хотя бы два числа в двоичной системе счислен
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 1100 включительно....

Определите количество троек чисел, в которых хотя бы один из элементов больше, чем число, взятое из первых 4-х символов
В файле 17_20.doc содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000...

Определите количество троек элементов последовательности, в которых только одно число является четырехзначным
Задание 17. (С. Чайкин) В — файле — содержится последовательность целых чисел, по модулю не превышающих 100 000. Определите количество...

10
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
23.01.2025, 19:06
Цитата Сообщение от Killer_Queen1 Посмотреть сообщение
Определите количество троек последовательности
что подразумевается под тройками?
1
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
23.01.2025, 19:45
Killer_Queen1,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def is_magic_number(n: int):
    return 9999 < abs(n) < 100000 and abs(n) % 100 == 43
 
 
with open("17-426.txt") as file:
    data = [int(line) for line in file]
 
max_square = max(filter(is_magic_number, data)) ** 2
 
result = [
    triplet
    for triplet in zip(data[:-2], data[1:-1], data[2:])
    if any(map(is_magic_number, triplet))
    and sum(map(lambda x: x * x, triplet)) <= max_square
]
 
print(len(result))
print(min(sum(map(lambda x: x * x, triplet)) for triplet in result))
Code
1
2
92
838850571
0
0 / 0 / 0
Регистрация: 23.01.2025
Сообщений: 2
23.01.2025, 19:46  [ТС]
условие прочитай
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
23.01.2025, 19:47
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
что подразумевается под тройками?
Я тоже хотел это спросить, но потом дочитал условия до конца =)
Цитата Сообщение от Killer_Queen1 Посмотреть сообщение
В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.
Добавлено через 1 минуту
Цитата Сообщение от Killer_Queen1 Посмотреть сообщение
условие прочитай
Зачем так грубо. Можно просто процитировать нужную строку еще раз
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
23.01.2025, 20:05
Цитата Сообщение от anton78spb Посмотреть сообщение
В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности
это понятно. как мы считаем тройки?
123 4567 89043 123 4567
123 4567 89043 123 4567
123 4567 89043 123 4567 число соответствующее условию берется один раз или считаем пока оно входит в тройку
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
23.01.2025, 21:18
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
число соответствующее условию берется один раз или считаем пока оно входит в тройку
Я понял что в данном случае у нас три тройки. Т.к. элементы идут подряд, и в каждом есть число удовлетворяющее условию.
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
23.01.2025, 21:36
anton78spb, сдается мне ваш код не правильно работает.
Цитата Сообщение от Killer_Queen1 Посмотреть сообщение
В ответе запишите количество найденных троек
я тупо посчитал числа по условию
Python
1
2
3
4
5
6
7
def f(x):
    return   x[-2:] == '43' and len(x) == 5
         
fileName ="test.txt"
with open(fileName) as f_in:
    a = f_in.read().splitlines()
print(sum(f(x) for x in a))
>>> %Run test.py
59
у меня их 59 из 10000 чисел из файла так что троек не может быть больше. у вас
Цитата Сообщение от anton78spb Посмотреть сообщение
92
838850571
0
1956 / 874 / 352
Регистрация: 05.09.2021
Сообщений: 1,387
23.01.2025, 22:55
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
я тупо посчитал числа по условию
Так условие неправильное. У ТС в функции ошибка. Оно не правильно детектирует пятизначные отрицательные числа.

Добавлено через 9 минут
И если работать со строкой, а не с числом, и учесть отрицательные числа, все равно еще надо .strip() как минимум добавить в обработчик. Т.к. вдруг в файле в конце числа пробелы есть, или какая-нибудь табуляция. И тогда проверка на кол-во цифр в числе через len(x) тоже "ломается".
0
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
24.01.2025, 12:44
Цитата Сообщение от anton78spb Посмотреть сообщение
Оно не правильно детектирует пятизначные отрицательные числа
точно. я как то упустил этот момент что минус считается как элемент строки
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
24.01.2025, 12:52
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
у меня их 59 из 10000 чисел из файла так что троек не может быть больше. у вас
может... тройки могут быть пересекающимися, т.е. одно и то же число, вполне может присутствовать в нескольких тройках (от одной до трех, от каждого пятизначного числа оканчивающегося на 43). Прямого запрета этому нет, есть только определенные условия, под которые должна подходить каждая тройка.
тут был правильный, уточняющий вопрос, на который ТС не ответил.
Цитата Сообщение от anton78spb Посмотреть сообщение
если работать со строкой, а не с числом, и учесть отрицательные числа
int(num) - удалит все пробельные символы из строкового представления числа, а также учтет отрицательные целые числа (за исключением тех, у которых между дефисом и числом присутствует пробельный символ)

Добавлено через 7 минут
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
минус считается как элемент строки
для подсчета длины:
Python
1
'-123'.replace('-','')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.01.2025, 12:52
Помогаю со студенческими работами здесь

Определите количество троек, в которых хотя бы два из трёх элементов меньше
В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000...

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

Количество троек элементов последовательности, хотя бы одно число из которых делится на 5, и сумму минимальных чисел
В файле 17-10.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от 0 до 10000...

Определите количество пар, в которых хотя бы один из двух элементов делится на 3
Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём парой два идущих подряд элемента...

Количество строк матрицы, в которых есть хотя бы один нулевой элемент
Как сделать штоб ета прога ище вивадила количество рядов каторие имеют хотяб один нулевой елемент. #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru