結果

問題 No.428 小数から逃げる夢
ユーザー kotamanegikotamanegi
提出日時 2016-10-02 22:45:42
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 1,548 bytes
コンパイル時間 1,081 ms
コンパイル使用メモリ 85,284 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-21 13:23:07
合計ジャッジ時間 2,723 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 100
権限があれば一括ダウンロードができます

ソースコード

diff #

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <algorithm>
#include <utility>
#include <functional>
#include <cstring>
#include <queue>
#include <stack>
#include <math.h>
#include <iterator>
#include <vector>
#include <string>
#include <set>
#include <math.h>
#include <iostream> 
#include<map>
#include <iomanip>
#include <stdlib.h>
#include <list>
#include <typeinfo>
#include <list>
#include <set>
using namespace std;
#define MAX_MOD 1000000007
#define REP(i,n) for(long long i = 0;i < n;++i)
#define LONGINF 1000000000000000000
string base = "1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991";
int hoge[1000] = {};
int bo[1000] = {};
int main() {
	int n;
	cin >> n;
	for (int i = 0;i < base.length();++i) {
		hoge[i + 10] = (int)base[i] - (int)'0';
	}
	//199
	for (int i = 199;i >= 2;--i) {
		int wow = hoge[i];
		wow *= n;
		bo[i] += wow % 10;
		wow /= 10;
		for (int j = 1;wow != 0;++j) {
			bo[i - j] += wow % 10;
			wow /= 10;
		}
	}
	for (int i = 199;i >= 0;--i) {
		int won = bo[i];
		bo[i] = won % 10;
		won /= 10;
		for (int j = 1;won != 0;++j) {
			bo[i - j] += won % 10;
			won /= 10;
		}
	}
	bool dodo = false;
	for (int i = 0;i < 10;++i) {
		if (dodo == true) {
			cout << bo[i];
		}
		else if (bo[i] != 0) {
			dodo = true;
			cout << bo[i];
		}
	}
	if (dodo == false) cout << "0";
	cout << ".";
	for (int i = 10;i < 200;++i) {
		cout << bo[i];
	}
	cout << endl;
	return 0;
}
0