The convergence http://paydayloansmole.co.uk/ pay day loan provide alternatives. .
[[Fulyn]]

**ハロー

    main
      putchar('h')
      putchar('e')
      putchar('l')
      putchar('l')
      putchar('o')
    end


**ユークリッドの互除法

    gcd :: [int => int => int]
    
    main
      putnum(gcd(1547, 2093))
    end
    
    gcd(x, y) : tailcall
      tmp = x
      x = ? les(x, y)
           | true -> y
           | false -> x
      y = ? eql(x, tmp)
           | true -> y
           | false -> tmp
      ? mod(x, y)
      | 0 -> y
      | () -> gcd(y, mod(x, y))
    end



**1~10000の合計

    main
      sum = x :: int => y :: int => div(mul(add(x, y), sub(y, add(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

**グラデーション

    draw :: [int]
    draw2 :: [int]
    winx :: int
    winy :: int
    col :: int
    
    main
      col = 0xFF0000
      openwin(256, 256)
      draw()
    end
    
    draw() : tailcall
      draw2()
      winy = 0
      winx = add(winx, 1)
      ? gra(winx, 255)
      | true -> 0
      | false -> draw()
    end
    
    draw2() : tailcall
      drawpoint(winx, winy, col)
      winy = add(winy, 1)
      col = add(col, 1)
      ? gra(winy, 255)
      | true -> 0
      | false -> draw2()
    end

**フィボナッチ

    fibonatti :: [int => int => int]
    
    main
      fibonatti(0, 1)
    end
    
    fibonatti(left, right) : tailcall
      next = add(left, right)
      putnum(next)
      ? les(next, 1000)
      | true -> fibonatti(right, next)
      | false -> 0
    end

**クロージャ

    main
      b = 6
      func = x :: int => y :: int => mul(b, add(x,y))
      putnum(func(3, 4))
    end

**fizzbuzz(fizz, buzz, fizzbuzzは文字を表示する関数なので省略)

    solve :: [int => int]
    
    main
      for(1, x :: int => loq(x, 10000), x :: int => add(x, 1), x :: int => solve(x))
    end
    
    solve(x)
      ? -1
      | eql(mod(x, 15), 0) -> fizzbuzz()
      | eql(mod(x, 3), 0) -> fizz()
      | eql(mod(x, 5), 0) -> buzz()
      | () -> putnum(x)
    end

**配列

    main
      arr = array_new(3)
      array_set(arr, 0, 9)
      array_set(arr, 1, 5)
      array_set(arr, 2, 2)
      putnum(arr(0))
      putnum(arr(1))
      putnum(arr(2))
    end


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS