結果

問題 No.668 6.0*10^23
ユーザー Lo_OT
提出日時 2018-03-24 01:48:21
言語 Java
(openjdk 23)
結果
AC  
実行時間 239 ms / 2,000 ms
コード長 1,511 bytes
コンパイル時間 2,353 ms
コンパイル使用メモリ 80,000 KB
実行使用メモリ 57,184 KB
最終ジャッジ日時 2024-06-30 05:30:30
合計ジャッジ時間 13,675 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        Yukicoder solver = new Yukicoder();
        solver.solve(1, in, out);
        out.close();
    }

    static class Yukicoder {
        public void solve(int testNumber, Scanner in, PrintWriter out) {
            String N = in.next();
            int pow10 = N.length();
            int[] ch = {N.charAt(0) - '0', N.charAt(1) - '0', N.charAt(2) - '0'};

            // c
            if (5 <= ch[2]) {
                ch[1]++;
            }

            // 9.9 => 1.0
            if (ch[0] >= 9 && ch[1] >= 10) {
                ch[0] = 1;
                ch[1] = 0;
                // N.0 ~ N.9
            } else if (0 <= ch[1] && ch[1] <= 9) {
                pow10 -= 1;
                // N.10 => (N+1).0
            } else if (ch[1] == 10) {
                ch[0]++;
                ch[1] = 0;
                pow10 -= 1;
            }
            out.println(submit(ch[0], ch[1], pow10));
        }

        private static String submit(int a, int b, int c) {
            return a + "." + b + "*10^" + c;
        }
    }
}

0