#include <bits/stdc++.h>
using namespace std;
string c;
int a[100050];
int main(){
cin >> c;
int l=c.length();
for (int i=0;i<l;i++){
a[i+1]=c[i]-48;
}
long long ans1=0,ans2=0;
for (int i=1;i<=l;i++){
if (i%2==0){
ans1+=a[i];
}else {
ans2+=a[i];
}
}
cout << ans1 << " " << ans2;
return 0;
}
以上为本人代码,多次检查未发现问题,想请教一下为什么本人代码在输入样例一后返回"5 16"?
样例一为“7392”,其中奇数位为:7、9,偶数位为:3 2,按照题目要求应先输出偶数位和在输出奇数位和(分别输出N的偶数位和以及n的奇数位和。——题面)。
因此,本人代码输出偶数位和为5,奇数位和为16,并未有错。
在@Andysun06发布的帖子中,TA指出了这个错误,但有两位大佬对此指出反驳,并未给出理由。
这是原帖:https://www.luogu.com/discuss/37958
这两位大佬我将在下面一位一位at,希望能耐心给出回复。谢谢。