Settings

Theme

Knuth Test using Claude Sonnet 4.6 problem 1.1.3

3 points by daly 18 days ago · 0 comments · 2 min read


----------------------------------------------------------------------- Algorithm E (Euclid's algorithm). Given two positive integers m and n, find their greatest common divisor, that is, the largest positive integer that evenly divides both m and n.

E1 [Find remained] Divide m by n and r be the remainder. (We will know that 0 <= r < n)

E2 [Is it zero?] If r = 0, the algorithm terminates, n is the answer

E3 [Reduce] Set m = n, then n = r, then go back to step E1 -----------------------------------------------------------------------

[3] Change Algorithm E so that all trivial replacement operations such as m = n are avoided. Write this new algorithm in the style of Algorithm E and call it Algorithm F.

======================================================================== Claude Sonnet 4.6 ========================================================================

Algorithm F

Given two positive integers m and n, find their greatest common divisor.

F1 [Find remainder] Divide m by n and let r be the remainder. (We will know that 0 ≤ r < n.)

F2 [Is it zero?] If r = 0, the algorithm terminates and n is the answer.

F3 [Find remainder] Divide n by r and let m be the remainder. (We will know that 0 ≤ m < r.)

F4 [Is it zero?] If m = 0, the algorithm terminates and r is the answer.

F5 [Find remainder] Divide r by m and let n be the remainder. (We will know that 0 ≤ n < m.) Go back to F2.

Explanation

The key insight is that instead of shuffling values with temporary replacements like:

m = n, n = r

we reuse the existing variables (m, n, r) in rotation, dividing and storing each new remainder directly into the variable that is no longer needed:

Step Divides Remainder stored in F1...m by n...r F3...n by r...m F5...r by m...n

Each variable naturally becomes the "oldest" value at each stage and is safely overwritten. This eliminates all trivial assignments while preserving the logic of Euclid's algorithm. □

No comments yet.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection