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