結果
| 問題 | No.428 小数から逃げる夢 | 
| コンテスト | |
| ユーザー |  tenten | 
| 提出日時 | 2020-09-11 17:00:00 | 
| 言語 | Java (openjdk 23) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 164 ms / 1,000 ms | 
| コード長 | 954 bytes | 
| コンパイル時間 | 2,167 ms | 
| コンパイル使用メモリ | 74,988 KB | 
| 実行使用メモリ | 41,728 KB | 
| 最終ジャッジ日時 | 2024-12-26 04:57:32 | 
| 合計ジャッジ時間 | 17,690 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 100 | 
ソースコード
import java.util.*;
public class Main {
    static final long MOD = 10000000000L;
	public static void main (String[] args) {
    	Scanner sc = new Scanner(System.in);
    	String BASE = "1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991";
    	String[] arr = new String[19];
    	for (int i = 0; i < 19; i++) {
    	    arr[i] = BASE.substring(i * 10, (i + 1) * 10);
    	}
    	int n = sc.nextInt();
    	String[] ans = new String[19];
    	long next = 0;
    	for (int i = 18; i >= 0; i--) {
    	    long value = Long.parseLong(arr[i]) * n + next;
    	    ans[i] = String.format("%010d", value % MOD);
    	    next = value / MOD;
    	}
    	StringBuilder sb = new StringBuilder();
    	sb.append(next).append(".");
    	for (String s : ans) {
    	    sb.append(s);
    	}
    	System.out.println(sb);
	}
}
            
            
            
        