All pastes #1345306 Raw Edit

Unnamed

public text v1 · immutable
#1345306 ·published 2009-02-23 22:41 UTC
rendered paste body
open Printf
open Sys

let rec gcd(a,b) =
  if b=1 then 1 else
    let rest = a mod b
  in
    if rest = 0 then b else gcd(b,rest)

let rec func n i acc =
  if i == n then acc+1
  else if gcd(i,n) != 1 then func n (i+1) (acc+1)
  else func n (i+1) acc

let main = match func 3000000 1 0 with | x -> printf "%d\n" x