
22.12.2006, 19:13
|
 |
Местный
|
|
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
|
|
Так тут практически ничего не меняется
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
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.
|