Четверг, 09.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

помогите пожалуйста исправить задачку
kardanДата: Среда, 02.04.2008, 23:23 | Сообщение # 1
Знакомый
Группа: Пользователи
Сообщений: 10
Репутация: 0
Замечания: 0%
Статус: Offline
задан массив A(n) целого типа. и в зависимости от того, есть ли среди элементов массива хотя бы одно число Фибоначчи, вывести сообщение true , false

program tyr;
uses crt;
Var
n:integer;
mas : array [1..100] of integer;
i : integer;
Begin
clrscr;
writeln('vv');
readln(n);
for i:=3 to n do
begin
if mas[i-1]+mas[i-2]=mas[i] then writeln ('true') else writeln ('false') ;
End;
readln;
end.

 
PavelДата: Четверг, 03.04.2008, 12:21 | Сообщение # 2
Приближенный
Группа: Модераторы
Сообщений: 210
Репутация: 17
Замечания: 0%
Статус: Offline
Вот условия! Какие-то очень расточительые условия. А если например у меня массив состоит из 30000 нуликов и последнее 2? Проверять все что-ли? Тут задача не понятно на что направлена. На оптимизацию или на сами числа Фибонначи. Так-то. biggrin
 
SeqularДата: Четверг, 03.04.2008, 12:27 | Сообщение # 3
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
На, держи. Я кое-че переделал. =)
Code

program tyr;
uses crt;
Var n:integer;
     mas : array [1..100] of integer;
     i : integer;
     f: boolean;

Function IsFibonacci(n: Integer): Boolean;
Var a, b, c: Integer;
Begin
a := 0;
b := 1;
While (b < n) do
       Begin
       c := a + b;
       a := b;
       b := c;
       End;
If b = n then IsFibonacci := true
          else IsFibonacci := false;
End;

Begin
clrscr;
Randomize;
Write('Massiv razmerom: '); Readln(n);
For i := 1 to n do
     Begin
     mas[i] := Random(30);
     Write(mas[i], ' ');
     End;
Writeln;
For i := 1 to n do
     begin
     If (IsFibonacci(mas[i])) then
        Begin
        writeln('true: ',mas[i],' - is fibonacci sequence part');
        f := True;
        Break;
        End;
     end;
If (f = False) then Writeln('False');
readkey;
End.


Поддерживаю также проект сообщество молодых сисадминов
 
kardanДата: Четверг, 03.04.2008, 13:36 | Сообщение # 4
Знакомый
Группа: Пользователи
Сообщений: 10
Репутация: 0
Замечания: 0%
Статус: Offline
Seqular большое спасибо вам,очень выручили!!!
 
SeqularДата: Четверг, 03.04.2008, 21:57 | Сообщение # 5
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
kardan, рады помочь.. если вопросов нет по данной задачи - тему закрываем

Поддерживаю также проект сообщество молодых сисадминов
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;