Hi I am programming in clojure and though the problem of modulo inverse has 
nothing to do with language i am stuck at this code -

(defn EulerDiv [x p]
  (let [ToMod (+ p 2)]
    (loop [num 1 toPow (int p) numDouble x]
      (if (= 0 toPow) 
        num
        (let [numDouble2 (rem (* numDouble numDouble) ToMod)
              halfToPow (int (/ toPow 2))]
          (if (odd? toPow)
            (recur (rem (* num numDouble) ToMod)
                   halfToPow
                   numDouble2)
            (recur num halfToPow numDouble2))

          ))))
  )

It seems to give me right answers for small Primes but when i am using it 
in a problem with Bigger primes i am getting answers other than result like 
:

(= 2 (mod (* 4 (EulerDiv 2 (- 3 2))) 3))

This prints true

(def ToMod (+ 10e8 7))( = 1 (int (mod (* 2 (EulerDiv 2 (- ToMod 2))) ToMod)) )

This prints false.

Also there is rem and mod in clojure. mod makes the output positive and 
hence i can not use it in between the calculations.
The problem is that of programming calculator grammar for evaluating 
evpressions like  "4/-2/(2 + 8)"

Thanks

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to