Difference between revisions of "Template:Gcd"
Jump to navigation
Jump to search
imported>Ezhiki (pre-expand is fairly low, so here is another iteration) |
imported>Ezhiki (+yet another iteration) |
||
| 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}}}))))}}|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 | + | <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}}})))))}}|}})}}}}}}}}}}}}}}</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 17:54, 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)