#include <bits/stdc++.h>
using namespace std;
int main() {
string pierwsze, drugie, wynik;int licznik = 0;
cin>>pierwsze >> drugie >>wynik;
vector<int>Pierwszy(0);
vector<int>Drugi(0);
vector<int>Trzeci(0);
bool pop = false;
for (char znak:pierwsze){
Pierwszy.push_back(znak-'0');
}
for (char znak:drugie){
Drugi.push_back(znak-'0');
}
for (char znak:wynik){
Trzeci.push_back(znak-'0');
}
int przechodny = 0;
for (int i =Drugi.size()-1; i>= 0; i--){
if ((Pierwszy[i]+Drugi[i])%10 == Trzeci[i]){
//licznik++;
//cout << "Pierwszy warunek (OK): "<< Pierwszy[i] << ' ' << Drugi[i]<<' '<<i<<endl;
//if (Pierwszy[i]+Drugi[i]+przechodny>=10){
//przechodny = 1;
//cout << "tu git" << Pierwszy[i] << ' '<< Drugi[i] << endl;
przechodny = 0;
for (int j = i; j >=0; j--){
//cout << "hello " << Pierwszy[j] << ' ' << Drugi[j] << '\n';
if ((Pierwszy[j]+Drugi[j]+przechodny < 10)&&(Pierwszy[j]+Drugi[j]+przechodny)%10 == Trzeci[j]){
licznik++;
//cout << "Drugi warunek (OK): "<< Pierwszy[j] << ' ' << Drugi[j]<<' '<< przechodny<<" dodałem "<<j<<endl;
}
if ((Pierwszy[j]+Drugi[j]+przechodny)%10 == Trzeci[j]){
pop = true;
if (Pierwszy[j]+Drugi[j]+przechodny >= 10){
przechodny = 1;
}else{
przechodny = 0;
}
}else{
pop = false;
//licznik--;
//cout << "OK koniec...\n";
break;
}
}
//}
}
//cout << Pierwszy[i] << ' ' << Drugi[i] << endl;
przechodny = 0;
}
cout << licznik;
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #include <bits/stdc++.h> using namespace std; int main() { string pierwsze, drugie, wynik;int licznik = 0; cin>>pierwsze >> drugie >>wynik; vector<int>Pierwszy(0); vector<int>Drugi(0); vector<int>Trzeci(0); bool pop = false; for (char znak:pierwsze){ Pierwszy.push_back(znak-'0'); } for (char znak:drugie){ Drugi.push_back(znak-'0'); } for (char znak:wynik){ Trzeci.push_back(znak-'0'); } int przechodny = 0; for (int i =Drugi.size()-1; i>= 0; i--){ if ((Pierwszy[i]+Drugi[i])%10 == Trzeci[i]){ //licznik++; //cout << "Pierwszy warunek (OK): "<< Pierwszy[i] << ' ' << Drugi[i]<<' '<<i<<endl; //if (Pierwszy[i]+Drugi[i]+przechodny>=10){ //przechodny = 1; //cout << "tu git" << Pierwszy[i] << ' '<< Drugi[i] << endl; przechodny = 0; for (int j = i; j >=0; j--){ //cout << "hello " << Pierwszy[j] << ' ' << Drugi[j] << '\n'; if ((Pierwszy[j]+Drugi[j]+przechodny < 10)&&(Pierwszy[j]+Drugi[j]+przechodny)%10 == Trzeci[j]){ licznik++; //cout << "Drugi warunek (OK): "<< Pierwszy[j] << ' ' << Drugi[j]<<' '<< przechodny<<" dodałem "<<j<<endl; } if ((Pierwszy[j]+Drugi[j]+przechodny)%10 == Trzeci[j]){ pop = true; if (Pierwszy[j]+Drugi[j]+przechodny >= 10){ przechodny = 1; }else{ przechodny = 0; } }else{ pop = false; //licznik--; //cout << "OK koniec...\n"; break; } } //} } //cout << Pierwszy[i] << ' ' << Drugi[i] << endl; przechodny = 0; } cout << licznik; return 0; } |
English