1) 11001000
2) 111101001
3) 1000011111
4) 1110110110
5) 10000000001
Решение:
например число 489
Каждое из полученных чисел дели на 2
489=244*2+1
244=122*2+0
122=61*2+0
61=30*2+1
30=15*2+0
15=7*2+1
7=3*2+1
3=1*2+1
2=2*1
Записываем в обратном порядке выделенные числа и получаем 111101001
P.S. для правильности следует записать все вычесления в столбик
Var A,B,C :real;
time :integer;
begin
Writeln('сколько заработал за лето');
readln(c);
Writeln('стипендия = ');
readln(A);
Writeln('расходы на проживание');
Readln(b);
C:=c+a-b;
while (c>=0) do begin
C:=c+a-b;
b:=b+(b/100*3);
time:=time+1;
end;
writeln('денег хватит на ',time,' месяцев');
<span>end.</span>
<em><u>Программа шифровки:</u></em>
DATA "ауоыэяюёие"
DATA "бвгджзклмнпрстфхцчшщ"
DATA "ъйь"
DIM s10 AS STRING, s20 AS STRING, s3 AS STRING
DIM i AS INTEGER
DIM s AS STRING, t AS STRING
CLS
READ s10, s20, s3
RANDOMIZE TIMER
INPUT "Введите фразу: ", s
t = ""
FOR i = 1 TO LEN(s)
t = t + MID$(s, i, 1)
t = t + MID$(s10, INT(10 * RND + 1), 1)
t = t + MID$(s20, INT(20 * RND + 1), 1)
t = t + MID$(s3, INT(3 * RND + 1), 1)
NEXT i
PRINT t
END
<em><u>Программа дешифровки:</u></em>
DIM s AS STRING, t AS STRING, <span>i AS INTEGER</span>
CLS
INPUT "Введите фразу: ", s
t = ""
FOR i = 1 TO LEN(s) STEP 4
t = t + MID$(s, i, 1)
NEXT i
PRINT t
END
Абвгдеёжзийклмнопрстуфхцчшщъыьэюя
1 шаг - 2010141622611
2 шаг - 1162261410102
3 шаг - йефемииб
Чаще всего встречаются буквы "е" и "и"
Номер буквы "е" - 6
Write (ndivm +1)
Если не поймете - прокомментирую