# 實作題 - 秘密差 - APCS - by Peter Wang ## 題目資訊 此題為2017.3.4測驗中的題目1 ###### tags: `APCS` ## 題目敘述 將一個十進位正整數的奇數位數的和稱為A ,偶數位數的和稱為B,則A與B的絕對差值 |A -B| 稱為這個正整數的秘密差。 例如: 263541 的奇數位和 A = 6+5+1 =12,偶數位的和 B = 2+3+4 = 9 ,所以 263541 的秘密差是 |12 -9|= 3 。 給定一個 十進位正整數 X,請找出 X的秘密差。 ### 輸入: 輸入為一行含有一個十進位表示法的正整數X ### 輸出: 請輸出 X的秘密差 Y(以十進位表示法輸出 ) ## 解題思路 把數字用字串處理的方式,熟悉ascii table,完成此題。 ## 程式碼 ```clike= #include<iostream> #include<math.h> using namespace std; int main(){ string n; while(cin>>n){ int len=n.length(); int x=0,y=0; for(int i=0;i<len;i++){ if((i+1)%2==1){ x+=n[i] - '0'; } else{ y+=n[i] - '0'; } } cout<<abs(x-y)<<endl; } } ``` ## 資料來源 [zerojudge](https://zerojudge.tw/) [題目敘述](https://zerojudge.tw/ShowProblem?problemid=c290) [原題PDF檔](https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnx6c2dpdGl0aXR8Z3g6MTRmYzQ0ZTM0MzJjZTlhYQ) ## 備註 >[name=PeterWang] >[time=Sun, Jun 13, 2021 9:59 AM]