better_fizzbuzz.ipynb (2145B)
1 { 2 "cells": [ 3 { 4 "cell_type": "code", 5 "execution_count": 4, 6 "id": "f39de10b-caca-47ca-8510-b373729e957c", 7 "metadata": {}, 8 "outputs": [ 9 { 10 "data": { 11 "text/plain": [ 12 "val as_str : int -> string = <fun>\n" 13 ] 14 }, 15 "execution_count": 4, 16 "metadata": {}, 17 "output_type": "execute_result" 18 } 19 ], 20 "source": [ 21 "let as_str idx = \n", 22 " let x = (if idx mod 3 = 0 then \"Fizz\" else \"\")\n", 23 " ^ \n", 24 " (if idx mod 5 = 0 then \"Buzz\" else \"\")\n", 25 " in if x = \"\" then string_of_int idx else x" 26 ] 27 }, 28 { 29 "cell_type": "code", 30 "execution_count": 5, 31 "id": "8f03e107-c163-4e93-896d-2daa6a443b28", 32 "metadata": {}, 33 "outputs": [ 34 { 35 "data": { 36 "text/plain": [ 37 "val print_fizz_buzz : int -> unit = <fun>\n" 38 ] 39 }, 40 "execution_count": 5, 41 "metadata": {}, 42 "output_type": "execute_result" 43 } 44 ], 45 "source": [ 46 "let print_fizz_buzz n = for i = 1 to n do \n", 47 " print_endline (as_str i)\n", 48 "done" 49 ] 50 }, 51 { 52 "cell_type": "code", 53 "execution_count": 6, 54 "id": "d46ba613-0fb0-46b2-ba3c-3c3a7b892efd", 55 "metadata": {}, 56 "outputs": [ 57 { 58 "name": "stdout", 59 "output_type": "stream", 60 "text": [ 61 "1\n", 62 "2\n", 63 "Fizz\n", 64 "4\n", 65 "Buzz\n", 66 "Fizz\n", 67 "7\n", 68 "8\n", 69 "Fizz\n", 70 "Buzz\n", 71 "11\n", 72 "Fizz\n", 73 "13\n", 74 "14\n", 75 "FizzBuzz\n" 76 ] 77 }, 78 { 79 "data": { 80 "text/plain": [ 81 "- : unit = ()\n" 82 ] 83 }, 84 "execution_count": 6, 85 "metadata": {}, 86 "output_type": "execute_result" 87 } 88 ], 89 "source": [ 90 "print_fizz_buzz 15" 91 ] 92 } 93 ], 94 "metadata": { 95 "kernelspec": { 96 "display_name": "OCaml default", 97 "language": "OCaml", 98 "name": "ocaml-jupyter" 99 }, 100 "language_info": { 101 "codemirror_mode": "text/x-ocaml", 102 "file_extension": ".ml", 103 "mimetype": "text/x-ocaml", 104 "name": "OCaml", 105 "nbconverter_exporter": null, 106 "pygments_lexer": "OCaml", 107 "version": "4.14.2" 108 } 109 }, 110 "nbformat": 4, 111 "nbformat_minor": 5 112 }