Автор | Сообщение |
|
Отправлено: 13.03.21 20:44. Заголовок: Задача 24 № 33(А.М. Кабанов)
Помогите, пожалуйста, понять в чем ошибка! УСЛОВИЕ: В текстовом файле k7c-1.txt находится цепочка из символов латинского алфавита A, B, C, D, E. Найдите количество цепочек длины 3, удовлетворяющих следующим условиям: • 1-й символ – один из символов B, C или D; • 2-й символ – один из символов B, D, E, который не совпадает с первым; • 3-й символ – один из символов B, C, E, который не совпадает со вторым. МОЕ РЕШЕНИЕ: stroka = open(r"D:\24data\k7data\k7c-1.txt").read() count = 0 for b1 in 'BCD': ----for b2 in 'BDE': --------for b3 in 'BCE': ------------slovo = b1 + b2 + b3 ------------if b1 != b2 != b3: ----------------c = stroka.count(slovo) ----------------count = count + c print(count)
|
|
|
Ответов - 3
[только новые]
|
|
|
Отправлено: 14.03.21 07:18. Заголовок: 1) ------------if b1..
1) ------------if b1 != b2 and b2 != b3: 2) c count надо аккуратнее, он может не учитывать ряд вхождений (если искомая подстрока пересекается сама с собой)
|
|
|
|
Отправлено: 21.08.21 15:46. Заголовок: Решение на Паскале. Подскажите, пожалуйста, где ошибка.
var i,n,k,f: integer; s: string; begin assign( input, 'k7c-1.txt' ); reset( input ); readln(s); n:=length(s); k:=0; i:=1; while (i<(n-2)) do begin if (s='D') or (s='B') or (s='C') and (s<>s[i+1]) and (s[i+1]='B') or (s[i+1]='D') or (s[i+1]='E')and (s[i+2]='B') or (s[i+2]='C') or (s[i+2]='E') and (s[i+2]<>s[i+1]) then begin k:=k+1; i:=i+3; end else i:=i+1; end; writeln(k); end.
|
|
|
|
Отправлено: 22.08.21 11:02. Заголовок: c = stroka.count(slo..
c = stroka.count(slovo) count считает не совсем корректно
|
|
|
|