際際滷

際際滷Share a Scribd company logo
いろいろなプログラム冱Z
? ユ`クリッドの札茅隈をg廾してみる
GCD(m,n):
If (n=0) then m
Else GCD(n,m mod n)
GCD(m,n):
while (n』0)
t○n
n○m mod n
m○t
End while
Return m
Fortran (1954)
和のコ`ドはFortran 66 (1966)
M=100
N=72
10 IF (N) 20,30,20
20 CONTINUE
I=N
N=M-INT(REAL(M)/REAL(N))*N
M=I
GOTO 10
30 WRITE(6,40) M
40 FORMAT(1H ,I5)
STOP
END
Fortran (1954)
和のコ`ドはFortran 95 (1995)
program GCD
integer::euclid_gcd
integer::m,n
m = 100
n = 72
Print *, euclid_gcd(m,n)
end program
integer function euclid_gcd(m,n)
integer::m,n
integer::t
do while (n /= 0)
t = n
n = mod(m,n)
m = t
end do
euclid_gcd = m
return
end function
LISP (1958)
コ`ドはCommon Lisp (1984)
(defun euclid-gcd (m n)
(if (= n 0) m
(euclid-gcd n (mod m n))
)
)
(print (euclid-gcd 100 72))
COBOL (1959)
IDENTIFICATION DIVISION.
PROGRAM-ID. EUCLID-GCD.
AUTHOR. AKINORI ITO.
DATE-WRITTEN. 2018/6/10.
DATE-COMPILED. 2018/6/10.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 M PICTURE 99999.
01 N PICTURE 99999.
01 T PICTURE 99999.
01 X PICTURE 99999.
PROCEDURE DIVISION.
MOVE 100 TO M.
MOVE 72 TO N.
PERFORM UNTIL N = 0
MOVE N to T
DIVIDE M BY N GIVING X REMAINDER N
MOVE T to M
END-PERFORM.
DISPLAY M.
STOP RUN.
BASIC1964
和のコ`ドは Chipmunk Basic
(1990)
10 m=100:n=72
20 if n<>0 then goto 40
30 print m:end
40 t=n: n=m mod n: m=t
50 goto 20
Pascal (1970)
Program GCD(output);
function euclid_gcd(m:integer; n:integer):integer;
var t:integer;
begin
if n=0 then
euclid_gcd := m
else begin
t := euclid_gcd(n, m mod n);
euclid_gcd := t
end
end;
begin
writeln(euclid_gcd(100,72));
end.
C (1972)
和のコ`ドは ANSI-C (1990)
#include <stdio.h>
int euclid_gcd(int m, int n) {
if (n == 0) return m;
return euclid_gcd(n, m%n);
}
int main()
{
printf("%dn",euclid_gcd(100,72));
return 0;
}
C++ (1983)
#include <iostream>
using namespace std;
int euclid_gcd(int m, int n) {
if (n == 0) return m;
return euclid_gcd(n, m%n);
}
int main() {
cout << euclid_gcd(100,72) << endl;
return 0;
}
Perl (1987)
sub euclid_gcd {
my ($m, $n) = @_;
if ($n == 0) {
return $m;
}
return euclid_gcd($n, $m%$n);
}
print euclid_gcd(100,72);
Tcl (1988)
proc euclid_gcd {m n} {
if {$n == 0} {
return $m
} else {
return [euclid_gcd $n [expr $m%$n]]
}
}
puts [euclid_gcd 100 72]
Haskell (1990)
euclid_gcd m 0 = m
euclid_gcd m n = euclid_gcd n (m `mod` n)
main = print (euclid_gcd 100 72)
Python (1991)
def euclid_gcd(m,n):
if n==0:
return m
return euclid_gcd(n,m%n)
print(euclid_gcd(100,72))
Ruby (1993)
def euclid_gcd(m,n)
if n==0 then
return m
else
return euclid_gcd(n,m%n)
end
end
print euclid_gcd(100,72),"n"
Lua (1993)
function euclid_gcd(m,n)
if n==0 then
return m
else
return euclid_gcd(n,m%n)
end
end
print(euclid_gcd(100,72))
Java (1995)
public class Main {
public static int euclid_gcd(int m, int n) {
if (n == 0) return m;
return euclid_gcd(n,m%n);
}
public static void main(String []args){
System.out.println(euclid_gcd(100,72));
}
}
JavaScript (1995)
function euclid_gcd(m,n) {
if (n == 0) {
return m;
}
return euclid_gcd(n,m%n);
}
console.log(euclid_gcd(100,72));
R (1996)
euclid.gcd <- function(m,n) {
if (n==0) {
return(m)
}
return(euclid.gcd(n,m%%n))
}
cat(euclid.gcd(100,72))
OCaml (1996)
let rec euclid_gcd m n =
if n = 0 then m
else euclid_gcd n (m mod n);;
print_int(euclid_gcd 100 72)
C# (2000)
using System.IO;
using System;
class Program
{
static int Euclid_GCD(int m, int n) {
if (n==0) return m;
return Euclid_GCD(n,m%n);
}
static void Main() {
Console.WriteLine(Euclid_GCD(100,72));
}
}
D (2001)
import std.stdio;
int euclid_gcd(int m, int n) {
if (n == 0) {
return m;
}
return euclid_gcd(n,m%n);
}
void main(string[ ] args) {
writeln(euclid_gcd(100,72));
}
Go (2009)
package main
import "fmt"
func euclid_gcd(m int, n int) int {
if (n==0) {
return m
}
return euclid_gcd(n,m%n)
}
func main() {
fmt.Printf("%dn",euclid_gcd(100,72))
}
Kotlin (2011)
fun euclid_gcd(m:Int, n:Int):Int {
if (n == 0) {
return m
}
return euclid_gcd(n, m%n)
}
fun main(args: Array<String>) {
println(euclid_gcd(100,72))
}
Julia (2012)
function euclid_gcd(m,n)
if n==0
m
else
euclid_gcd(n,m%n)
end
end
println(euclid_gcd(100,72))
Swift (2014)
func Euclid_GCD(m: Int, n: Int) -> Int
{
if n == 0 {
return m
}
return Euclid_GCD(m:n, n:m%n)
}
print(Euclid_GCD(m:100,n:72))

More Related Content

いろいろなプログラミング冱囂による札茅隈