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")
   
   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 => junkapi.drawpoint(0, x, y, c) ~
       ) ~
     )
   end

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