#include <iostream>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
string A, B, C;
cin >> A >> B >> C;
int l = A.length();
long long w = 0;
int x, y;
int przeniesienie = 0, dod = 0;
for (int j = l - 1; j >= 0; j--) {
x = (A[j] - '0') + (B[j] - '0') + przeniesienie;
y = C[j] - '0';
if (x % 10 != y) {
przeniesienie = 0;
dod = 0;
continue;
}
if (x != y) {
if (przeniesienie == 0) dod++;
przeniesienie = 1;
}
else {
w += dod;
if (przeniesienie == 0) {
dod++;
w++;
}
przeniesienie = 0;
}
}
cout << w;
return(0);
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include <iostream> #include <string> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); string A, B, C; cin >> A >> B >> C; int l = A.length(); long long w = 0; int x, y; int przeniesienie = 0, dod = 0; for (int j = l - 1; j >= 0; j--) { x = (A[j] - '0') + (B[j] - '0') + przeniesienie; y = C[j] - '0'; if (x % 10 != y) { przeniesienie = 0; dod = 0; continue; } if (x != y) { if (przeniesienie == 0) dod++; przeniesienie = 1; } else { w += dod; if (przeniesienie == 0) { dod++; w++; } przeniesienie = 0; } } cout << w; return(0); } |
English