ラダーレースのプログラミングPTAグループ - 練習の終わりにどのように二組L1-017

どのように最後にL1-017 2

質問

整数「2度コミット数が含まれるように、その桁数の2比が定義されています」。この数は負の、0.5倍の増加の程度であれば、まだ場合でも、その後倍増。そのようなデジタルとして-131422233363が存在する2そのうち11ビットであり、偶数であり、それを二度計算で作られ、負である:3/11×1.5×2 ×100%、 81.82約パーセント。この質問は終わり二つに整数を与え、どのくらいAを計算するように要求されます。
入力フォーマット:
以下50ビットの指定された整数の最初のラインの入力N
出力フォーマット:
ラインでの出力N2桁まで、2の有罪範囲。
サンプル入力:

-13142223336

出力例:

81.82%

コードは以下の通りであります:

#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
int main()
{
	string str;
	cin>>str;
	double res=1.0;
	int num=0;
	for(int i=0;i<str.size();++i)
	{
		if(str[i]=='2')
			num++;
	}
	if(str[0]=='-')
	{
		res*=1.5;
		if(str[str.size()-1]%2==0)
			res*=2;
		res=res*num*100/(str.size()-1);
	}
	else
	{
		if(str[str.size()-1]%2==0)
			res*=2;
		res=res*num*100/str.size();
	}
	cout<<setiosflags(ios::fixed)<<setprecision(2)<<res<<"%"<<endl;	
	return 0;
}
公開された82元の記事 ウォン称賛12 ビュー9983

おすすめ

転載: blog.csdn.net/Slatter/article/details/103965837