c290. APCS 2017-0304-1秘密差 - 高中生程式解題系統

題目:

將一個十進位正整數的奇數位數的和稱為A ,偶數位數的和稱為B,則A與B的絕對差值 |A -B| 稱為這個正整數的秘密差。

例如: 263541 的奇數位和 A = 6+5+1 =12,偶數位的和 B = 2+3+4 = 9 ,所以 263541 的秘密差是 |12 -9|= 3 。

給定一個 十進位正整數 X,請找出 X的秘密差。

<aside> 💡

若善用python字串,這題十分簡單。

此題使用if_else、迴圈、字串。

</aside>

python

a = 0
b = 0
numstr = str(input())
for i in range(len(numstr)):
    if i % 2 == 0:
        a += int(numstr[i])
    else:
        b += int(numstr[i])
print(abs(a-b))

c++

#include<bits/stdc++.h>
using namespace std;
int main(){
    int i,diff=0;  //diff是秘密差
    string s;
    cin>>s;

    i=0;
    while(s[i]!='\\0'){
        if(i%2==0)
            diff=diff+(s[i]-'0');
        else 
            diff=diff-(s[i]-'0');
        i++;
    }
    if(diff<0) //-->abs
        diff=-diff;
    cout<<diff;
}