結果

問題 No.219 巨大数の概算
ユーザー 158b
提出日時 2015-06-03 23:57:08
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 992 bytes
コンパイル時間 499 ms
コンパイル使用メモリ 73,856 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-07-06 14:02:47
合計ジャッジ時間 8,085 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other WA * 51
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <algorithm>
#include <functional>
#include <string>
#include <climits>
#include <vector>
#include <numeric>
#include <complex>
using namespace std;
//ans 9 4 16594101793

int main(){
	int n;
	long long a[10000],b[10000];
	double keta;	//double
	double moto,moto2;
	long long ans1,ans2,ans3;


	cin >> n;
	for(int i=0; i<n; i++){
		cin >> a[i] >> b[i];
	}

	/*
	n=1;
	a[0] = 502810717;
	b[0] = 1907060147;
	*/

	for(int i=0; i<n; i++){
		//桁数(double)求める
		moto = log10(a[i])*b[i];

		ans3 = floor(moto);
		keta = moto;

		//最上位を求める
		ans1 = 1;
		for(int i=9; i>=1; i--){
			if(log10(i) <= keta - floor(keta)){
				ans1 = i;
				break;
			}
		}

		//次の桁を求められるといいな
		ans2 = 0;
		for(int i=0; i<=9; i++){
			if(log10((double)ans1 + (double)i / 10) >= keta - floor(keta)){
				ans2 = i;
				break;
			}
		}
		ans2 --;

		//合ってるといいな
		cout << ans1 << " " << ans2 << " " << ans3 << endl;
	}

	return 0;
}
0