Fulyn

084(オハヨー)

   main
     print(084)
   end

ユークリッドの互除法

   gcd :: [int => int => int]
   
   main
     result = gcd(1547, 2093)
     print(result)
   end
   
   gcd (x, y)
     // x > yになるように入れ替える
     tmp = x
     x = ? x < y
         | true -> y
         | false -> x
     y = ? tmp == x
         | true -> y
         | false -> tmp 
     // 非0なら再帰
     ? x % y
     | 0 -> x
     | () -> gcd(y, x % y)
   end

1~10000の合計

   main
     sum = x => y => (x + y) * (y - x + 1) / 2
     sum(0, 10000)
   end

for文っぽいのの定義

   for :: [int => [int => int] => [int => int] => [int => int] => int]
   
   for(x, comp, next, exec)
     ? comp(x)
     | true -> exec(x)
     | false -> $
     1 + for(next(x), comp, next, exec)
   end

グラデーション(for文っぽいのの使用)

   junkapi :: include("junkapi.fl")
   draw :: [int => int => int]
   c :: int
   
   main
     c = 0
     junkapi.openwin(256, 256)
     for(0, i => i < 256, i => i + 1, x => ~
       for(0, j => j < 256, j => j + 1, y => ~
         draw(x, y) ~
       ) ~
     )
   end
   
   draw(x, y)
     junkapi.drawpoint(0, x, y, c)
     c = c + 0x100
   end

指定した数までフィボナッチ

   fibo :: [int => int => int => int]
   
   main
     fibo(0, 1, 1000)
   end
   
   fibo(x, y, limit)
     print(x + y)
     ? x + y < limit
     | true -> fibo(y, x + y)
     | false -> 0
   end

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS