配列(リスト)の全要素の合計。(C#、Java、JavaScript、PHP、Python3、Ruby比較)

 配列(リスト)に格納された数値の合計を求めて出力する処理は、演習問題の定番の1つになっているなど、頻繁に目にする処理の1つです。

 今回は、標準入力からの半角空白区切りのデータを数値に変換して配列(リスト)に格納し、この配列(リスト)に格納された全要素の合計を出力する処理について、C#、Java、JavaScript、PHP、Python3、Rubyの6言語で比較しています。

C#
using System;
using System.Linq;

public class Sample{
    public static void Main(){
        //標準入力されたデータをint型の配列に変換。
        var line = Console.ReadLine().Trim().Split(' ');
        var arraybox = line.Select(x => int.Parse(x)).ToArray();

        //配列の要素の合計を出力
        Console.WriteLine(arraybox.Sum());
    }
}

 標準入力されたデータを配列に格納し、配列の全要素をint型に変換。

 .Sum()メソッドを使うことで、データが格納された配列の全要素の合計を求められます。

Java
import java.util.*;

public class Main {
    //配列の要素を合計するメソッド
    public static int arraySum(int[] arr){
        int sum = 0;
        for (int x: arr){
            sum += x;
        }
        return sum;
    }

    public static void main(String[] args) throws Exception {
        //標準入力されたデータをint型の配列に変換。
        Scanner scan = new Scanner(System.in);
        var line = scan.nextLine().trim().split(" ");
        int[] arraybox = new int[line.length];

        for (var i = 0; i < line.length; i++){
            arraybox[i] = Integer.parseInt(line[i]);
        }

        //配列の要素の合計を出力
        System.out.println(arraySum(arraybox));
    }
}

 標準入力されたデータを配列に格納し、全要素をint型に変換して別の配列に格納します。

 Javaは配列の全要素を合計する組み込みメソッドが無いため、for文を使って配列から要素を1つづつ加算して合計を求めます。今回は配列から要素を取り出して合計する処理を、arraySum(配列)メソッドで定義しています。

JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');

var lines = [];
var reader = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout
});
reader.on('line', (line) => {
  lines.push(line);
});
reader.on('close', () => {
    //配列の要素を合計するメソッド
    function arrSum(arr){
        var sum = 0;

        for (var x of arr){
            sum += x;
        }
        return sum;
    }

    //標準入力されたデータをint型の配列に変換。
    var str = lines[0].trim().split(' ');
    var arraybox = str.map(x => parseInt(x,10));

    //配列の要素の合計を出力
    console.log(arrSum(arraybox));
});

 標準入力されたデータを配列に格納し、配列の要素を全てint型に変換。

 JavaScriptは配列の全要素を合計する組み込みメソッドが無いため、for文を使って配列から要素を1つづつ加算して合計を求めます。今回は配列から要素を取り出して合計する処理を、arraySum(配列)メソッドで定義しています。

PHP
<?php
//標準入力されたデータを配列に入れる。
$line = trim(fgets(STDIN));
$arrbox = explode(' ',$line);

//配列の要素の合計を出力
echo array_sum($arrbox)."\n";
?>

 PHPの場合は、標準入力されたデータが数字であれば数値として扱われるので、そのまま数値型の要素として配列に格納されます。

 array_sum(配列)メソッドを使うことで、データが格納された配列の全要素の合計を求められます。

Python3
#標準入力されたデータを数値に変換してリストに入れる。
listbox = list(map(int,input().rstrip().split(' ')))

#リストの要素の合計を出力
print (sum(listbox))

 標準入力されたデータをリストに格納し、全要素をint型に変換。sum(リスト)メソッドで、データが格納されたリストの全要素の合計が求められます。

Ruby
#標準入力されたデータ数値に変換して配列に入れる。
arrbox = gets.chomp.split(' ').map(&:to_i)

#配列の要素の合計を出力
puts arrbox.sum

 標準入力されたデータを数値に変換して配列に格納。.sumメソッドで、データが格納された配列の全要素の合計が求められます。

にほんブログ村 ゲームブログへ

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする