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

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

Only Do What Only You Can Do

自然数の2乗の和

自然数の2乗の和は, 次の式で表せます.

この公式を使って, $ 1000 $ までの自然数の2乗の和を求めます.

VBScript

Option Explicit
' 1000 までの 自然数の2乗の和
Dim n: n = 1000
WScript.Echo n * (n + 1) * (2 * n + 1) \ 6
Z:\>cscript //nologo 0305.vbs
333833500

JScript

// 1000 までの 自然数の2乗の和
var n = 1000
WScript.Echo(n * (n + 1) * (2 * n + 1) / 6)
Z:\>cscript //nologo 0305.js
333833500

PowerShell

# 1000 までの 自然数の2乗の和
$n = 1000
Write-Host($n * ($n + 1) * (2 * $n + 1) / 6)
Z:\>powershell -file 0305.ps1
333833500

Perl

# 1000 までの 自然数の2乗の和
my $n = 1000;
print($n * ($n + 1) * (2 * $n + 1) / 6, "\n");
Z:\>perl 0305.pl
333833500

PHP

<?php
# 1000 までの 自然数の2乗の和
$n = 1000;
echo ($n * ($n + 1) * (2 * $n + 1) / 6), "\n";
?>
Z:\>php 0305.php
333833500

Python

# 1000 までの 自然数の2乗の和
n = 1000
print (n * (n + 1) * (2 * n + 1) / 6)
Z:\>python 0305.py
333833500

Ruby

# 1000 までの 自然数の2乗の和
n = 1000
puts (n * (n + 1) * (2 * n + 1) / 6)
Z:\>ruby 0305.rb
333833500

Groovy

Pascal

Program Pas0305(arg);
var
    n:Integer;
begin
    // 1000 までの 自然数の2乗の和
    n := 1000;
    writeln( n * (n + 1) * (2 * n + 1) div 6 );
end.
Z:\>fpc Pas0305.pp -v0
Free Pascal Compiler version 2.6.2 [2013/02/12] for i386
Copyright (c) 1993-2012 by Florian Klaempfl and others

Z:\>Pas0305
333833500

Ada

VB.NET

Module VB0305
    Sub Main()
        ' 1000 までの 自然数の2乗の和
        Dim n As Integer = 1000
        Console.WriteLine( n * (n + 1) * (2 * n + 1) \ 6 )
    End Sub
End Module
Z:\>vbc -nologo VB0305.vb

Z:\>VB0305
333833500

C#

public class CS0305
{
    public static void Main()
    {
        // 1000 までの 自然数の2乗の和
        int n = 1000;
        System.Console.WriteLine( n * (n + 1) * (2 * n + 1) / 6 );
    }
}
Z:\>csc -nologo CS0305.cs

Z:\>CS0305
333833500

Java

public class Java0305{
     public static void main(String []args){
        // 1000 までの 自然数の2乗の和
        int n = 1000;
        System.out.println( n * (n + 1) * (2 * n + 1) / 6 );
    }
}
Z:\>javac Java0305.java

Z:\>java Java0305
333833500

C++

#include <iostream>

using namespace std;

int main()
{
    // 1000 までの 自然数の2乗の和
    int n = 1000;
    cout << ( n * (n + 1) * (2 * n + 1) / 6 ) << endl; 
    return 0;
}
Z:\>bcc32 CP0305.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
CP0305.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

Z:\>CP0305
333833500

Objective-C

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    // 1000 までの 自然数の2乗の和
    int n = 1000;
    printf("%d\n", (n * (n + 1) * (2 * n + 1) / 6) ); 
    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
333833500

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.

1000 までの自然数の2乗の和

val n = 1000
n * (n + 1) * (2 * n + 1) / 6
res0: Int = 333833500

終了

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;;

1000 までの自然数の2乗の和

let n = 1000
n * (n + 1) * (2 * n + 1) / 6
val it : int = 333833500

終了

> #quit;;

Clojure

対話型実行環境を起動

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

1000 までの自然数の2乗の和

(def n 1000)
(quot (* (* n (+ n 1)) (+ (* 2 n) 1)) 6)
333833500

終了

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.

1000 までの自然数の2乗の和

let n = 1000
n * (n + 1) * (2 * n + 1) `div` 6
333833500

終了

Prelude> :quit
Leaving GHCi.
inserted by FC2 system