paiza×Qiita記事投稿キャンペーンということで、paizaラーニングレベルアップ問題集の一番小さい値を色々な言語でやってみました。対象はコードモンスター大図鑑で対応している9言語です。
方針
主に
- 一つずつ最小値を更新する方法
- 配列に要素を一つずつ格納し、最小値を求める方法
- 配列を一度に作成し、最小値を求める方法
の3種類のうち、各言語1~2種類のコードを書いていきます。
PHP
<?php
$nums = [];
for($i = 0; $i < 5; $i++)
$nums[] = fgets(STDIN);
echo min($nums);
?>
Ruby
nums = []
5.times do
nums << gets.to_i
end
p nums.min
p 5.times.map { gets.to_i }.min
Java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int min = sc.nextInt();
for (int i = 1; i < 5; i++) {
int num = sc.nextInt();
min = Math.min(min, num);
}
sc.close();
System.out.println(min);
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] nums = new int[5];
for (int i = 0; i < 5; i++) {
nums[i] = sc.nextInt();
}
sc.close();
System.out.println(Arrays.stream(nums).min().getAsInt());
}
}
Python
nums = [0] * 5
for i in range(5):
nums[i] = int(input())
print(min(nums))
print(min(int(input()) for _ in range(5)))
C言語
#include <stdio.h>
int main(void){
int min;
scanf("%d", &min);
for (int i = 1; i < 5; i++) {
int num;
scanf("%d", &num);
if (num < min)
min = num;
}
printf("%d\n", min);
return 0;
}
C#
using System;
class Program
{
static void Main()
{
int min = int.Parse(Console.ReadLine());
for (int i = 1; i < 5; i++) {
int num = int.Parse(Console.ReadLine());
min = Math.Min(min, num);
}
Console.WriteLine(min);
}
}
using System;
using System.Linq;
class Program
{
static void Main()
{
int[] nums = new int[5];
for (int i = 0; i < 5; i++) {
nums[i] = int.Parse(Console.ReadLine());
}
Console.WriteLine(nums.Min());
}
}
Javascript
const lines = require("fs").readFileSync("/dev/stdin", "utf8").split("\n");
let min = lines[0];
for(var i = 1; i < 5; i++) {
min = Math.min(min, lines[i]);
}
console.log(min);
// 2024-08-25 .trim()を追加
console.log(Math.min(...require("fs").readFileSync("/dev/stdin", "utf8").trim().split("\n")));
C++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void){
vector<int> nums(5);
for (int i = 0; i < 5; i++) {
cin >> nums[i];
}
cout << *min_element(nums.begin(), nums.end()) << endl;
return 0;
}
Kotlin
import java.util.*
fun main() {
val sc = Scanner(System.`in`)
var min = sc.nextInt()
for (i in 1 until 5) {
var num = sc.nextInt()
min = Math.min(min, num)
}
sc.close()
println(min)
}
fun main() {
val nums = List(5) { readLine()!!.toInt() }
println(nums.min())
}