【題目敘述】https://zerojudge.tw/ShowProblem?problemid=c290
【解題想法】輸入數字的位數可能高達 1000,以 string 儲存讀入測資,再分別處理奇偶位數的數字。
#include <iostream>
using namespace std;
int main(){
int even = 0, odd = 0;
string s;
cin >> s;
for (int i=0; i<s.size(); i++){
if (i % 2){
odd += s[i] - '0';
} else {
even += s[i] - '0';
}
}
cout << abs(even - odd) << endl;
return 0;
}
#include <iostream>
using namespace std;
int main(){
int even = 0, odd = 0;
string s;
cin >> s;
for (int i=0; i<s.size(); i+=2){
even += s[i] - '0';
}
for (int i=1; i<s.size(); i+=2){
odd += s[i] - '0';
}
cout << abs(even - odd) << endl;
return 0;
}
Python code
while True:
try:
a = 0
b = 0
numstr = input()
for i in range(len(numstr)):
if i % 2 == 0:
a += int(numstr[i])
else:
b += int(numstr[i])
print(abs(a-b))
except:
break