結果

問題 No.219 巨大数の概算
ユーザー kongarishisyamo
提出日時 2016-06-09 20:45:57
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 684 bytes
コンパイル時間 530 ms
コンパイル使用メモリ 60,448 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-10-09 06:22:36
合計ジャッジ時間 9,206 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 1 WA * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
#include<cmath>
#include<climits>

using namespace std;
long long c;


long long kiru(long long n){
	while(n>=sqrt((double)LLONG_MAX-1)){
		n/=10,c++;
	}
	return n;
}

long long strong_pow(long long n,long long k){
	if(k==0) return 1;
	else if(k%2==0){
		long long num=strong_pow(n,k/2);
		kiru(num);
		num*=num;
		c*=2;
		return kiru(num);
	}
	else{
		long long num=strong_pow(n,k-1);
		kiru(num);
		num*=n;
		return kiru(num);
	}
}

int main(){

	long long N,A,B;
	long long X,Y,Z;
	long long ans;

	cin>>N;

	while(N--){

		cin>>A>>B;

		c=0;
		ans=kiru(strong_pow(A,B));
		while(ans>=100){
			c++,ans/=10;
		}
		cout<<ans/10<<" "<<ans%10<<" "<<c+1<<endl;
	}
}

0