ForNext
Only Do What Only You Can Do
064. 最大公約数を求める (再帰)
VBScript
JScript
Perl
PHP
Python
Ruby
PowerShell
Scala
F#
C
更新日 : 2010.10.08
#include <stdio.h> int gcdf(int vx, int vy) { return (vy == 0 ? vx : gcdf(vy, vx % vy)); } int gcd(int va, int vb) { return (va > vb ? gcdf(va, vb) : gcdf(vb, va)); } int main(int argc, char* argv[]) { int n1 = 8; int n2 = 22; printf("%dと%dの最大公約数は%dです。\n", n1, n2, gcd(n1, n2)); return 0; }
R:\>lesson064\Project1.exe 22と8の最大公約数は2です。
C++
C++Builder
VC++
C#
Java
更新日 : 2010.11.05
class Lesson064 { public static void main(String[] args) { int n1 = 8; int n2 = 22; System.out.printf("%dと%dの最大公約数は%dです。\n", n1, n2, gcd(n1, n2)); } static int gcdf(int vx, int vy) { return (vy == 0 ? vx : gcdf(vy, vx % vy)); } static int gcd(int va, int vb) { return (va > vb ? gcdf(va, vb) : gcdf(vb, va)); } }
L:\>java Lesson064 8と22の最大公約数は2です。
Objective-C
D
VB
VB.NET
Delphi
更新日 : 2010.09.24
program Project1; {$APPTYPE CONSOLE} uses SysUtils; function gcdf(vx:Integer; vy:Integer):Integer; begin if vy = 0 then result := vx else result := gcdf(vy, vx mod vy); end; function gcd(va:Integer; vb:Integer):Integer; begin if va > vb then result := gcdf(va, vb) else result := gcdf(vb, va); end; procedure main(); var n1, n2: Integer; begin n1 := 8; n2 := 22; writeln(format('%dと%dの最大公約数は%dです。', [n1, n2, gcd(n1, n2)])); end; begin main; end.
S:\>lesson064\Project1.exe 22と8の最大公約数は2です。