ZZULIOJ 1143: 最大値 - 複数の塩基、Java

ZZULIOJ 1143: 最大値 - 複数の塩基、Java

質問の説明

n 個の数値を入力し、各数値の底をその後ろの数値 k (k>=2 および k<=10) で指定し、最大の数値に対応する 10 進数を出力します。
プログラムでは、KToD() 関数と main() 関数を定義する必要があります。KToD() 関数の関数は、k 進数を 10 進整数に変換することであり、残りの関数は main() に実装されます。関数。
int KToD(char str[], int k)
{ //関数は 10 進整数に対応する k 基数 str を返します}

入力

最初に整数 n を入力し、次に n 行を入力します。各行には、スペースで区切られた文字列と整数 k が含まれます。文字列は k 基数を表します。すべての入力は負ではありません。

出力

最大の数値に対応する 10 進数を出力します。

サンプル入力コピー
4
1101  2
22121  3
276  8
134  10
サンプル出力コピー
232
ヒント

ヒント: これら 4 つの数値を 10 進数に変換すると、13 232 190 134 となるため、最大値は 232 になります。

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class Main {
    
    
    public static void main(String[] args) throws IOException {
    
    
        Scanner sc = new Scanner(System.in);
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int n = sc.nextInt();
        int mx = 0;
        for (int i = 0; i < n; i++) {
    
    
            mx = Math.max(mx, Integer.parseInt(sc.next(), sc.nextInt()));
        }
        bw.write(String.valueOf(mx));
        bw.close();
    }
}

Guess you like

Origin blog.csdn.net/qq_52792570/article/details/132545327