Difference between revisions of "Template:Gcd"

From blackwiki
Jump to navigation Jump to search
imported>Ezhiki
(typo)
imported>Ezhiki
m (balancing parens)
Line 1: Line 1:
<includeonly>{{#ifexpr:{{{2}}}=0|{{{1}}}|{{#ifexpr:({{{1}}} mod {{{2}}})=0|{{{2}}}|{{#ifexpr:({{{2}}} mod ({{{1}}} mod {{{2}}}))=0|{{#expr:{{{1}}} mod {{{2}}}}}|{{#ifexpr:(({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))=0|{{#expr:({{{2}}} mod ({{{1}}} mod {{{2}}}))}}|{{#ifexpr:((({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))=0|{{#expr:(({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))}}|{{#ifexpr:((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))=0|{{#expr:(({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))}}|{{#ifexpr:(((({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))) mod ((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))=0|{{#expr:(({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))}}|{{#ifexpr:(((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))) mod (((({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))) mod ((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))))=0|{{#expr:((({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))) mod ((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))}}|0}})}}}}}}}}}}}}}}</includeonly><noinclude>This template calculates the '''[[greatest common divisor]]''' (gcd) of two parameters.  It returns the value of gcd.  Zero is returned when calculation is too complex (this implementation only allows for eight iterations of the [[Euclidean algorithm]]).
+
<includeonly>{{#ifexpr:{{{2}}}=0|{{{1}}}|{{#ifexpr:({{{1}}} mod {{{2}}})=0|{{{2}}}|{{#ifexpr:({{{2}}} mod ({{{1}}} mod {{{2}}}))=0|{{#expr:{{{1}}} mod {{{2}}}}}|{{#ifexpr:(({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))=0|{{#expr:({{{2}}} mod ({{{1}}} mod {{{2}}}))}}|{{#ifexpr:((({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))=0|{{#expr:(({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))}}|{{#ifexpr:((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))=0|{{#expr:(({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))}}|{{#ifexpr:(((({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))) mod ((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))=0|{{#expr:(({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))}}|{{#ifexpr:(((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))) mod (((({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))) mod ((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))))=0|{{#expr: ((({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))))) mod ((({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}}))) mod (({{{2}}} mod ({{{1}}} mod {{{2}}})) mod (({{{1}}} mod {{{2}}}) mod ({{{2}}} mod ({{{1}}} mod {{{2}}})))))}}|0}})}}}}}}}}}}}}}}</includeonly><noinclude>This template calculates the '''[[greatest common divisor]]''' (gcd) of two parameters.  It returns the value of gcd.  Zero is returned when calculation is too complex (this implementation only allows for eight iterations of the [[Euclidean algorithm]]).
  
 
==Examples==
 
==Examples==

Revision as of 18:07, 3 August 2007

This template calculates the greatest common divisor (gcd) of two parameters. It returns the value of gcd. Zero is returned when calculation is too complex (this implementation only allows for eight iterations of the Euclidean algorithm).

Examples

  • {{gcd|16|6}} → 2
  • {{gcd|544|119}} → 17
  • {{gcd|1787|853}} → Expression error: Unclosed bracket. (algorithm iteration limit reached)