Тема: Задачка
Показать сообщение отдельно
  #3  
Старый 22.12.2006, 18:10
Lera Lera вне форума
Прохожий
 
Регистрация: 19.12.2006
Сообщения: 2
Репутация: 10
По умолчанию Решение на Паскале задачки

program des;
const n=20;
var x:string;
d,l,i,R:word;
f:array[1..n] of word;

function dv (y:string):real;
var n,i,j:word;
d,m:real;
begin
n:=length(y);
m:=0;
for i:=n downto 1 do
if copy(y,i,1)='1' then
begin
d:=0.5;
for j:=0 to n-i do
d:=d*2;
m:=m+d;
end;
dv:=m;
end;

function x11(y:string):byte;
var
i:word;
begin
x11:=0;
for i:=1 to length(y)-1 do
if copy (y,i,2)='11' then x11:=1;
end;

begin
f[1]:=1; f[2]=2;
for i:=3 to n do f[i]:=f[i-1]+f[i-2];
write ('cislo digital:'); readln(x);
while x11(x)=1 do
begin
write('1 , 1 stoyat ryadom!Nelzya!'Cislo digital: ');readln(x);
end;
l:=length(x);
R:=0;
for i:=1 to l do
if copy (x,i,1)='1' then
begin
d:=f[l-i+1];
R:=R+d;
end;
writeln('fibon.:',R);
writeln('desatk.:',dv(x):0:0);
readln;
end.

P.S. Нада описать в consol application
Ответить с цитированием