さまざまな言語で数値計算
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.