home > さまざまな言語で数値計算 > 数列の和 >

さまざまな言語で数値計算

Only Do What Only You Can Do

等比数列の和

初項 $ a $, 公比 $ r $, 項数 $ n $ の等比数列の和は, 次の式で表せます.

この公式を使って, 初項 $ 2 $, 公比 $ 3 $, 項数 $ 10 $ の等比数列の和を求めます.

VBScript

Option Explicit
' 初項 2, 公比 3, 項数 10 の等比数列の和
Dim n: n = 10
Dim a: a = 2
Dim r: r = 3
WScript.Echo (a * ((r ^ n) - 1)) \ (r - 1)
Z:\>cscript //nologo 0307.vbs
59048

JScript

// 初項 2, 公比 3, 項数 10 の等比数列の和
var n = 10
var a = 2
var r = 3
WScript.Echo((a * (Math.pow(r, n) - 1)) / (r - 1))
Z:\>cscript //nologo 0307.js
59048

PowerShell

# 初項 2, 公比 3, 項数 10 の等比数列の和
$n = 10;
$a = 2;
$r = 3;
Write-Host(($a * ([math]::pow($r,  $n) - 1)) / ($r - 1))
Z:\>powershell -file 0307.ps1
59048

Perl

# 初項 2, 公比 3, 項数 10 の等比数列の和
my $n = 10;
my $a = 2;
my $r = 3;
print(($a * (($r **  $n) - 1)) / ($r - 1), "\n");
Z:\>perl 0307.pl
59048

PHP

<?php
# 初項 2, 公比 3, 項数 10 の等比数列の和
$n = 10;
$a = 2;
$r = 3;
echo (($a * (pow($r,  $n) - 1)) / ($r - 1)), "\n";
?>
Z:\>php 0307.php
59048

Python

# 初項 2, 公比 3, 項数 10 の等比数列の和
n = 10
a = 2
r = 3
print ((a * ((r ** n) - 1)) / (r - 1))
Z:\>python 0307.py
59048

Ruby

# 初項 2, 公比 3, 項数 10 の等比数列の和
n = 10
a = 2
r = 3
puts ((a * ((r ** n) - 1)) / (r - 1))
Z:\>ruby 0307.rb
59048

Groovy

Pascal

Program Pas0303(arg);
uses
    SysUtils, Math;
var
    n:Integer;
    a:Integer;
    r:Integer;
begin
    // 初項 2, 公比 3, 項数 10 の等比数列の和
    n := 10;
    a := 2;
    r := 3;
    writeln( format('%g', [(a * (power(r, n) - 1)) / (r - 1)]) );
end.
Z:\>fpc Pas0307.pp -v0
Free Pascal Compiler version 2.6.2 [2013/02/12] for i386
Copyright (c) 1993-2012 by Florian Klaempfl and others

Z:\>Pas0307
59048

Ada

VB.NET

Module VB0307
    Sub Main()
        ' 初項 2, 公比 3, 項数 10 の等比数列の和
        Dim n As Integer = 10
        Dim a As Integer = 2
        Dim r As Integer = 3
        Console.WriteLine( (a * ((r ^ n) - 1)) \ (r - 1) )
    End Sub
End Module
Z:\>vbc -nologo VB0307.vb

Z:\>VB0307
59048

C#

public class CS0307
{
    public static void Main()
    {
        // 初項 2, 公比 3, 項数 10 の等比数列の和
        int n = 10;
        int a = 2;
        int r = 3;
        System.Console.WriteLine( (a * (System.Math.Pow(r, n) - 1)) / (r - 1) );
     }
}
Z:\>csc -nologo CS0307.cs

Z:\>CS0307
59048

Java

public class Java0307{
     public static void main(String []args){
        // 初項 2, 公比 3, 項数 10 の等比数列の和
        int n = 10;
        int a = 2;
        int r = 3;
        System.out.println((int) (a * (Math.pow(r, n) - 1)) / (r - 1) );
    }
}
Z:\>javac Java0307.java

Z:\>java Java0307
59048

C++

#include <iostream>
#include <math.h>

using namespace std;

int main()
{
    // 初項 2, 公比 3, 項数 10 の等比数列の和
    int n = 10;
    int a = 2;
    int r = 3;
    cout << ( (a * (pow(r, n) - 1)) / (r - 1) ) << endl; 
    return 0;
}
Z:\>bcc32 CP0307.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
CP0303.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

Z:\>CP0307
59048

Objective-C

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    // 初項 2, 公比 3, 項数 10 の等比数列の和
    int n = 10;
    int a = 2;
    int r = 3;
    printf("%d\n", (int)((a * (pow(r, n) - 1)) / (r - 1)) ); 
    return 0;
}
Compiling the source code....
$gcc `gnustep-config --objc-flags` -L/usr/GNUstep/System/Library/Libraries -lgnustep-base main.m -o demo -lm -pthread -lgmpxx -lreadline 2>&1

Executing the program....
$demo
59048

D

Go

Scala

対話型実行環境を起動

Z:\>scala
Welcome to Scala version 2.10.2 (Java HotSpot(TM) Client VM, Java 1.7.0_21).
Type in expressions to have them evaluated.
Type :help for more information.

初項 2, 公比 3, 項数 10 の等比数列の和

val n = 10
val a = 2
val r = 3
a * (Math.pow(r, n).toInt - 1) / (r -1)
res0: Int = 59048

終了

scala> :quit

F#

対話型実行環境を起動

Z:\>fsi
Microsoft (R) F# 2.0 Interactive build 4.0.40219.1
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

初項 2, 公比 3, 項数 10 の等比数列の和

let n = 10
let a = 2
let r = 3
(a * (int (System.Math.Pow(double r, double n)) - 1)) / (r - 1)
val it : int = 59048

終了

> #quit;;

Clojure

対話型実行環境を起動

Z:\>java -cp C:\ProgramFiles\clojure-1.5.1\clojure-1.5.1.jar clojure.main
Clojure 1.5.1

初項 2, 公比 3, 項数 10 の等比数列の和

(def n 10)
(def a 2)
(def r 3)
(int (quot (* a (- (Math/pow r n) 1)) (- r 1)))
59048

終了

user=> (. System exit 0)

Haskell

対話型実行環境を起動

Z:\>ghci
GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.

初項 2, 公比 3, 項数 10 の等比数列の和

let n = 10
let a = 2
let r = 3
a * (r ^ n - 1) `div` (r -1)
59048

終了

Prelude> :quit
Leaving GHCi.
inserted by FC2 system