Допустим, вы хотите создать модель учебного процесса в вашей группе. Подумайте, какие вам потребуются данные. А потом перед вами поставили задачу смоделировать процесс летнего отдыха, например, коллективной поездки на турбазу. Подумайте, какие вам потребуются данные для решения новой задачи.
Подумайте, какие данные будут общими для этих двух моделей.
var i,j,n:longint;
f:boolean;
begin
writeln('Введите число');
readln(n);
if n<2 then writeln('Простых делителей нет')
else
begin
write('Число ',n,' ','= 1');
for i:=2 to n do
if n mod i=0 then
begin
f:=true;
j:=2;
while f and(j<=round(sqrt(i/2)))do
begin
if i mod j=0 then f:=false
else j:=j+1;
end;
if f then write('*',i);
end;
end;
end.
Тестовое решение:
Введите число
2345
Число 2345 = 1*5*7*35*67
1) выписываем остатки (те что в скобках 1 или 0 с последнего числа полученного при делении )
104 / 2 = 52 остаток (0)
52 / 2 = 26 остаток (0)
26 / 2 = 13 остаток (0)
13 / 2 = 6 остаток (1)
6 / 2 = 3 остаток (0)
3 / 2 = 1 (<== начинаем выписывать с этого числа) остаток (1) <= следующее
ответ: 1101000
2)
510 / 2 = 255 остаток (0)
255 / 2 = 127 остаток (1)
127 / 2 = 63 остаток (1)
63 / 2 = 31 остаток (1)
31 / 2 = 15 остаток (1)
15 / 2 = 7 остаток (1)
7 / 2 = 3 остаток (1)
3 / 2 = 1(<== первое число) остаток (1)
ответ : 111111110
3)
634 / 2 = 317 остаток (0)
317 / 2 = 158 остаток (1)
158 / 2 = 79 остаток (0)
79 / 2 = 39 остаток (1)
39 / 2 = 19 остаток (1)
19 / 2 = 9 остаток (1)
9 / 2 = 4 остаток (1)
4 / 2 = 2 остаток (0)
2/ 2 = 1 (<== первое число)остаток (1)
ответ : 1101111010
4) число 731 попробуйте сделать сами для понимания
II)
1)
10111 нумеруем все цифры с права налево (первый номер-0)
1(4) 0(3) 1(2) 1(1) 1(0)
далее схема такая 1*2 в четвёртой степени(4) + 0 * 2 в третьей(3)+1*2 во второй(2) + 1*2 в первой(1) +1*2 в нулевой (0)
и так мы получаем 16+0+4+2+1=23
2) 110011 нумеруем 1(5) 1(4) 0(3) 0(2) 1(1) 1(0)
1*2 в пятой +1*2 в четвёртой +1*0 в третьей +1*0 во второй +1*2 первой +1*2 в нулевой=32+16+0+0+2+1=51
два других сделайте сами для тренировки