Задания
Версия для печати и копирования в MS Word
Тип 9 № 48430
i

В каж­дой стро­ке элек­трон­ной таб­ли­цы за­пи­са­ны шесть на­ту­раль­ных чисел. Опре­де­ли­те, сколь­ко в таб­ли­це строк, для ко­то­рых вы­пол­не­ны сле­ду­ю­щие усло­вия:

—  в стро­ке встре­ча­ет­ся ровно че­ты­ре раз­лич­ных числа; два из них по два раза, два  — по од­но­му;

—  сумма по­вто­ря­ю­щих­ся чисел (без учёта по­вто­ре­ний, то есть каж­дое число вхо­дит в сумму один раз) мень­ше суммы не­по­вто­ря­ю­щих­ся.

В от­ве­те за­пи­ши­те число  — ко­ли­че­ство строк, для ко­то­рых вы­пол­не­ны эти усло­вия.

За­да­ние 9

Спрятать решение

Ре­ше­ние.

Для ре­ше­ния за­да­чи вы­пи­шем в столб­цы от G до L по­вто­ря­ю­щи­е­ся зна­че­ния, в столб­цы от M до R  — зна­че­ния без по­вто­ре­ний.

Вы­пи­шем в ячей­ку G1 фор­му­лу:

=ЕСЛИ(СЧЁТЕСЛИ($A1:$F1;A1)=2; A1;"").

Дан­ная фор­му­ла вер­нет в ячей­ку зна­че­ние из ячей­ки A1 если оно встре­ча­ет­ся более 1 раза. Ско­пи­ру­ем фор­му­лу на диа­па­зон G1:L6400.

В ячей­ку М1 вы­пи­шем фор­му­лу =ЕСЛИ(G1="";A1;"") и ско­пи­ру­ем ее на диа­па­зон M1:R6400. Дан­ная фор­му­ла вер­нет зна­че­ние в ячей­ки, если они не по­вто­ря­ют­ся.

В столб­це S будем счи­тать ко­ли­че­ство строк, удо­вле­тво­ря­ю­щих на­ше­му ре­ше­нию. Для этого вве­дем фор­му­лу:

=ЕСЛИ(СЧЁТЕСЛИ(G1:L1;"")=2;ЕСЛИ(СУММ(G1:L1)/2<СУММ(M1:R1);1;0);0)

и ско­пи­ру­ем ее на весь диа­па­зон S1:S6400.

По­счи­та­ем ко­ли­че­ство строк, удо­вле­тво­ря­ю­щих на­ше­му усло­вию, фор­му­лой: =СУММ(S1:S6400).

 

Ответ: 351.

 

При­ведём ре­ше­ние Али­е­ва Ра­ми­ра на языке Python.

y = [list(map(int,i.split())) for i in open('09.txt')]

q = 0

for u in y:

if len(set(u))== 4:

if all(('__'+'__'.join(list(map(str,u)))+'__').count('_'+str(n)+'_') !=3 for n in u):

if sum(u)-sum(set(u))< 2*sum(set(u))-sum(u):

q += 1

print(q)

 

При­ведём ре­ше­ние Фай­зул­ли­на Вла­ди­ми­ра (Пермь) на языке Python.:

def kp(x):

pk=[]

for i in range(len(x)):

pk+=[x.count(x[i])]

return pk

k=0

for a in open('99.txt'):

s1 = 0

s2 = 0

x = list(map(int, a.split()))

kel = kp(x)

id = sum([1,1,2,2,2,2])

if sum(kel) == id:

for i in range(len(x)):

if kel[i] == 2:

s1 += x[i]

if kel[i] == 1:

s2 += x[i]

if s1/2 < s2:

k += 1

print(k)

 

 

При­ведём ре­ше­ние Дмит­рия Пе­хо­ва на языке Python.:

f = open('09.txt')

count = 0

for i in f:

l = [int(x) for x in i.split()]

repeat = [x for x in l if l.count(x) == 2]

nonrepeat = [x for x in l if l.count(x) == 1]

if len(repeat) == 4 and len(nonrepeat) == 2 and sum(repeat) // 2 < sum(nonrepeat):

count += 1

print(count)

 

При­ведём ре­ше­ние Бо­ри­са Са­ве­лье­ва на языке Python.:

f = open('09.txt')

cnt = 0

for s in f:

a=list(map(int,s.split()))

p = []

if len(set(a)) == 4:

for i in range(len(a)):

if a.count(a[i]) == 2:

p.append(a[i])

if len(p)==4:

if sum(set(p))<(sum(a)-sum(p)):

cnt+=1

print(cnt)

 

При­ме­ча­ние. Файл сле­ду­ет со­хра­нить в фор­ма­те txt.


Аналоги к заданию № 48430: 48457 Все