Для передачи сообщений, содержащих только буквы К, Л, М, Н, О, П, Р, решили использовать неравномерный двоичный код, в котором никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Известны кодовые слова, использованные для некоторых букв: К – 11, Л – 000, П – 0010, Р – 1011. Какое кодовое слово надо назначить для буквы М, чтобы код удовлетворял указанному условию и при этом длина слова МОЛОКО после кодирования была наименьшей? Если таких кодов несколько, укажите код с наименьшим числовым значением.
Відповідь:
Дивись фото
Пояснення:
<!DOCTYPE html>
<html>
<head>
<title>Price</title>
<meta charset="utf-8">
</head>
<body>
<p>стоимости переговоров</p>
</body>
<script>
{/*Написать логическое выражение для определения стоимости переговоров, если стоимость переговоров с 22 часов до 8 часов на 20% ниже, а в субботу и в воскресенье дополнительно предоставляется скидка 10%. */}
t = +prompt('время разговоров от 0 до 24 часов')
dt = +prompt('продолжительность разговора в минутах')
s = +prompt('стоимость минуты разговора')
d = +prompt('день недели от 1 до 7')
console.log('t=',t,'dt=', dt, 's=', s, 'd=', d)
function Price (t, dt, d, s) {
let startTalk = t*60
let price = 0
console.log('day = ', d)
for (let i =1; i<=dt; i++){
let night = false
let holiday = false
let p = s
if( (startTalk+i)%1440 === 0 ){
if (d<7){
d=d+1
console.log('day = ', d)
} else {
d=1
console.log('day = ', d)
}
}
if ( (startTalk+i)%1440>=1320 || (startTalk+i)%1440<480){
night = true
}
if ( d === 6 || d===7){
holiday = true
}
if (night){
p = p - s*0.2
}
if (holiday){
p = p-s*0.1
}
price = price+p
console.log('стоимости '+ i+'мин. = '+ p.toFixed(2)+'$')
}
console.log('fin.price', price.toFixed(2), '$')
return price.toFixed(2)
}
{/*Price(t, dt, d, s)*/}
alert('стоимости переговоров ' + '$' + Price(t, dt, d, s))
</script>
</html>
from itertools import product
i = open('input.txt', 'r')
o = open('output.txt', 'w+')
l = int(i.
alpha = "245"
d = []
for s in product(alpha, repeat=l):
d.append([" ".join(
for q in d[1: ]:
s = " ".join(q)
if int(s.count('2')) > 2:
continue
o.write(" ".join(q) + '\n')
i.close()
o.close()
код к : «перевод кода с питона на паскаль»
var
n,c,i,ost,b,t,d: integer;
a,k: string;
begin
readln(n);
c: =1;
for i: =1 to n do
c: =c*3;
c: =c-1;
for i: =1 to c do
begin
k: ='';
b: =i;
t: =0;
while b> 0 do
begin
ost: =b mod 3;
if ost=0 then inc(t);
d: =(-sqr(ost)+5*ost+4)div 2;
str(d,a);
k: =a+k;
b: =b div 3;
end;
while length(k)do
begin
k: ='2'+k;
inc(t);
end;
if t< =2 then writeln(k);
end;
end.