home > 写経編 > 柴田望洋『明解C言語 入門編』 > 8. いろいろなプログラムを作ってみよう >

ForNext

Only Do What Only You Can Do

063. 階乗を求める (再帰)

VBScript

JScript

Perl

更新日 : 2010.10.18
sub factorial
{
    my ($n) = @_;

    return ($n * &factorial($n -1)) if ($n > 0);
    return 1;
}

$n = 3;
printf("%dの階乗は%dです。\n", $n, &factorial($n));
L:\>perl lesson_08_063.pl
3の階乗は6です。

PHP

更新日 : 2010.11.03
<?php
function factorial($n)
{
    if ($n > 0) return ($n * factorial($n -1));
    return 1;
}

$n = 3;
printf("%dの階乗は%dです。\n", $n, factorial($n));
?>
L:\>php lesson_08_063.php
3の階乗は6です。

Python

更新日 : 2010.11.17
# coding: Shift_JIS

def factorial(n):
    if (n > 0):
        return (n * factorial(n -1))
    return 1

n = 3;
print "%dの階乗は%dです。" % (n, factorial(n))
N:\>python lesson_08_063.py
3の階乗は6です。

Ruby

更新日 : 2010.11.01
def factorial(n)
    return (n * factorial(n -1)) if (n > 0)
    return 1
end

n = 3
printf("%dの階乗は%dです。\n", n, factorial(n))
L:\>ruby  l:\lesson_08_063.rb
3の階乗は6です。

PowerShell

Scala

F#

C

更新日 : 2010.10.08
#include <stdio.h>

int factorial(int n)
{
    if (n > 0)
        return (n * factorial(n -1));

    return 1;
}

int main(int argc, char* argv[])
{
    int n = 3;
    printf("%dの階乗は%dです。\n", n, factorial(n));
}
R:\>lesson063\Project1.exe
3の階乗は6です。

C++

C++Builder

VC++

C#

Java

更新日 : 2010.11.05
class Lesson063 {
    public static void main(String[] args) {
        int n = 3;
        System.out.printf("%dの階乗は%dです。\n", n, factorial(n));
    }

    static int factorial(int n) {
        if (n > 0)
            return (n * factorial(n -1));

        return 1;
    }
}
L:\>java Lesson063
3の階乗は6です。

Objective-C

D

VB

VB.NET

Delphi

更新日 : 2010.09.24
program Project1;

{$APPTYPE CONSOLE}

uses
    SysUtils;

function factorial(n:Integer):Integer;
begin
    if n > 0 then
        result := n * factorial(n -1)
    else
        result := 1;
end;

procedure main();
var
    n: Integer;
begin
    n := 3;
    writeln(format('%dの階乗は%dです。', [n, factorial(n)]));
end;

begin
    main;
end.
S:\>lesson063\Project1.exe
3の階乗は6です。

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system