結果

問題 No.428 小数から逃げる夢
ユーザー olphe
提出日時 2016-11-14 03:33:10
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 808 bytes
コンパイル時間 646 ms
コンパイル使用メモリ 53,752 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-25 22:10:08
合計ジャッジ時間 2,547 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other WA * 100
権限があれば一括ダウンロードができます

ソースコード

diff #

#include "iostream"
using namespace std;
const long long int BORDER = 1000000000;

int N;
int up;
long long int down[25]{123456789,101112131,415161718,192021222,324252627,282930313,233343536,373839404,142434445,4647484950,51525354,555657585,960616263,646566676,869707172,737475767,778798081,828384858,687888990,919293949,596979899,1};

int main() {
	cin >> N;
	if (down[0] * N >= BORDER) {
		up = down[0] * N / BORDER;
		down[0] = (down[0] * N) % BORDER;
	}
	for (int i = 1; i < 25; i++) {
		if (down[i] * N >= BORDER) {
			down[i - 1] += down[i] * N / BORDER;
			down[i] = (down[i] * N)%BORDER;
			for (int j = BORDER/10; j >= 1; j /= 10) {
				if (j > down[i]) {
					down[i - 1] *= 10;
				}
			}
		}
	}
	cout << up << ".";
	for (int i = 0; i < 25; i++) {
		cout << down[i];
	}
	cout << "\n";
	return 0;
}
0