Форум » Обработка целых чисел » Задание 17 задача 151 » Ответить

Задание 17 задача 151

katekosh: Текст задания: 151) (В. Шубинкин) В файле 17-1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число оканчивается на 6 и делится на 3. Затем - минимальное число в паре среди всех таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Например, для последовательности 306; 36; -15; -6; 2; 16 ответом будет пара чисел: 4 и -15. Моё решение: f=open("17-1.txt") A=[] while True: s=f.readline() if not s: break A.append(int(s)) l=len(A) k=0 minch=10000 for i in range (1,l): if (A%10==6 and A%3==0) or (A[i-1]%10==6 and A[i-1]%3==0): k+=1 if minch> min(A,A[i-1]): minch=min(A,A[i-1]) print (k, minch) f.close() Мой ответ: 606 -9984 Ответ автора: 587 -9996 Помогите, пожалуйста, найти ошибку.

Ответов - 6

cabanov.alexey: abs(a[ i ])%10 == 6 abs(a[ i-1 ])%10 == 6

Вова48: Прога на питоне тоже дает ответ 606 -9984 [pre2] f = open ('17-1.txt') n=0 m=20000 a = [int(x) for x in f.readlines()] for i in range(len(a)-1): if (a[ i]%3==0 and abs(a[ i]%10==6)) or (a[i+1]%3==0 and abs(a[i+1]%10==6)): n+=1 m=min(m,a[ i],a[i+1]) print(n,m)[/pre2]

Вова48: все поправил. Скобки не там поставил


died: А что именно вы исправили? просто у меня всеравно выводит то же, что и у вас.

dafff: f = open('17-1.txt') n=0 m=20000 a = [int(x) for x in f] for i in range(len(a)-1): if (a[i]%3==0 and abs(a[i])%10==6) or (a[i+1]%3==0 and abs(a[i+1])%10==6): n+=1 m=min(m,a[i],a[i+1]) print(n,m)

patnikk: ### var v := ReadAllText('17-1.txt').ToIntegers .Pairwise.Wh(\(q,w)-> ((abs(q) mod 10 = 6)and q.d(3))or(w.d(3)and(abs(w) mod 10 = 6))); print(v.Count,v.Min(\(q,w)-> q),v.Min(\(q,w)-> w))



полная версия страницы