質問N:私は、小数点を憎みます
制限時間:1秒メモリ制限:32メガバイト
提出:311は解決:89
タイトル説明
暁明は常に頭痛を見るために、小数点、小数点を嫌っていました。残念なことに、赤は彼に話題を与えた、と彼に尋ねた:
あなたの小数xを与えるために、あなたは右、最初のnビットの後に小数点をどのように計算することができますか?(1 <= N <= 6 )
暁明は、この問題を見た後、頭痛が瞬時に気絶し、あなたは彼を助けることができますか?
エントリー
:T行に続く最初の入力T、発現データのTセット、
ライン小数あたり(ABの形態における入力データが保証され、問題を簡単にするために、定期的な小数ない場合が存在しない)、
そしてnは、小数点いくつかの最初の。
輸出
小数点数後の出力のビット数N。
サンプル入力 のコピー
3 1.234 1 2.345 2 3.456 3
サンプル出力 のコピー
2 4 6
コード
ヒント:出力の場合を検討する0
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
int T;
scanf("%d",&T);
getchar();
string s;
int num;
for(int i = 0;i < T;i++){
cin>>s;
getchar();
cin>>num;
getchar();
int j;
int len=s.size();
if(num>=1&&num<=6){
for(j = 0;;j++){
if(s[j]=='.'){
break;
}
}
if((len-(j+1))<num){
printf("%d\n",0);
}
else{
printf("%d\n",s[j+num]-'0');
}
}else{
i--;
continue;
}
}
}