Newer
Older
Skill_semi_sample / SS2301-01 / ss2301_01.cpp
@mikado-4410 mikado-4410 on 12 Oct 2023 625 bytes Add:任意個数の最小値関数の実装
#include <iostream>

// ベースケース: 単一の値を返す
template <typename T>
T minimum(T t) {
    return t;
}

// 再帰的に最小値を取得する
template <typename T, typename... Args>
T minimum(T first, Args... args) {
    return std::min(first, minimum(args...));
}

int main() {
    std::cout << "Minimum value is: " << minimum(5, 3, 9, 1, 8) << std::endl; // 1が出力される
    std::cout << "Minimum value is: " << minimum(10, 20, 5, 15) << std::endl; // 5が出力される
    std::cout << "Minimum value is: " << minimum(4.5, 3.5, 5.6, 7.8) << std::endl; // 3.5が出力される
    return 0;
}