L1 017 到底有多二

2021-07-28 13:14:05 字數 957 閱讀 6405

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 陳越

乙個整數「犯二的程度」定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍;如果還是個偶數,則再增加1倍。例如數字「-13142223336」是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為:3/11*1.5*2*100%,約為81.82%。本題就請你計算乙個給定整數到底有多二。

輸入格式:

輸入第一行給出乙個不超過50位的整數n。

輸出格式:

在一行中輸出n犯二的程度,保留小數點後兩位。

輸入樣例:

-13142223336
輸出樣例:
81.82%

#include #include #include#include#includeusing namespace std;

//1 計算總共多少位

//2 計算含有2的個數

//3 判斷是否是負數,負數增加0.5 x=0.5

//4判斷是否是偶數,即判斷最後一位是否能整除2 odd=2

int place(string s)//判斷是否能整除2

int main()

{ string s;

double sum=0,x=1,sum2=0,odd=1;

double t;

cin>>s;

if(s[0]=='-')//為負數

{ x=1.5;

sum=s.size()-1;

if(place(s)==1)

odd=2;

for(int i=1;i

L1 017 到底有多二

乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336 是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100 約為81.82 本題就請你計算乙...

L1 017 到底有多二

乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336 是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100 約為81.82 本題就請你計算乙...

L1 017 到底有多二

乙個整數 犯二的程度 定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍 如果還是個偶數,則再增加1倍。例如數字 13142223336 是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為 3 11 1.5 2 100 約為81.82 本題就請你計算乙...