diff options
Diffstat (limited to 'THT/C/TP-2018/func.scm')
-rw-r--r-- | THT/C/TP-2018/func.scm | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/THT/C/TP-2018/func.scm b/THT/C/TP-2018/func.scm deleted file mode 100644 index a7d0af5..0000000 --- a/THT/C/TP-2018/func.scm +++ /dev/null @@ -1,35 +0,0 @@ -(define (func k r p q m) - (define (func-iter a b c d count) - (display (cons a b)) - (newline) - (cond ((= count 0) (cons (remainder b m) - (remainder a m))) - ((even? count) (func-iter (remainder a m) - (remainder b m) - (remainder (+ (* c c) (* d d)) m) - (remainder (+ (* 2 c d) (* d d r)) m) - (/ count 2))) - (else (func-iter (remainder (+ (* b d) (* a d r) (* a c)) m) - (remainder (+ (* b c) (* a d)) m) - (remainder c m) - (remainder d m) - (- count 1))))) - (let ((g (gcd p q))) - (func-iter (/ q g) (/ p g) 0 1 (- k 1)))) - -(define (iter) - (let* ((k (read)) - (r (read)) - (p (read)) - (q (read)) - (m (read))) - (if (not (eof-object? m)) - (let ((c (func k r p q m))) - (display (car c)) - (display " ") - (display (cdr c)) - (newline) - (iter))))) - -(with-input-from-file "FUNC.INP" - (lambda () (with-output-to-file "FUNC.OUT" iter))) |