Тема: Задачка
Показать сообщение отдельно
  #4  
Старый 22.12.2006, 19:13
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 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.
Ответить с цитированием