1. Pascal / Говнокод #5992

    +119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Function F1(z: Byte): Real;  {Функция возведения (-1) в степень "к"}
    
      Begin
    
        If z=1
    
          Then F1:=-1
    
          Else F1:=F1(z-1)*-1;
    
      End;

    Нашел в лабораторной по вычмату 2-х годичной давности)

    Запостил: 1_and_0, 15 Марта 2011

    Комментарии (10) RSS

    • а что не так? все логично ) и математика, и рекурсия ) молодец! ))))
      Ответить
    • Вот кто его знает, может при достаточно большом к - степень не будет равна +-1
      А возведение нуля? или не было?
      Ответить
      • Это из серии "В военное время время значение синуса может достигать четырёх и даже пяти!" ?
        Ответить
    • Так что-ли?

      Function F1(z: Byte): Real;
      begin
        Result := -1 * ((z mod 2) * 2 - 1);
      end;
      Ответить
      • Лучше бы конечно тернарным оператором сделать,
        f1=z%2==0?1:-1;

        ну раз его нет в паскале, то читабельней будет через if-else
        Ответить
      • if Odd(z) then Result := -1 else Result := 1;
        Ответить
    • молодец возьми печеньку
      Ответить

    Добавить комментарий