#include <iostream>
using namespace std;
int main()
{
string liczba1, liczba2, liczba3;
cin >> liczba1 >> liczba2 >> liczba3;
int dlugosc1 = liczba1.length();
int dlugosc2 = liczba2.length();
int dlugosc3 = liczba3.length();
long long wynik = 0;
bool wszystkoGit = true;
short przeniesienie = 0;
int i = liczba3.length() - 1;
int j = liczba3.length() - 1;
//cout << "i = " << i << " j = " << j << endl;
while (j >= 0)
{
while (i >= 0)
{
przeniesienie = 0;
wszystkoGit = true;
for (int k = j; k >= i; k--) // k = 0
{
//cout << "SUMA = " << liczba1[k] - '0' + liczba2[k] - '0' + przeniesienie << endl;
if (liczba1[k] - '0' + liczba2[k] - '0' + przeniesienie == liczba3[k] - '0' + 10)
{
// int a, b;
// a = liczba1[k] - '0' + liczba2[k] - '0' + przeniesienie;
//b =
// cout << "i = " << i << endl;
// cout << "liczba1 = " << liczba1[k] << endl;
//cout << "suma liczb = " << a << endl;
//cout <<<< b << endl;
przeniesienie = 1;
}
else if (liczba1[k] - '0' + liczba2[i] - '0' + przeniesienie == liczba3[k] - '0')
{
//cout << "najs" << endl;
//wynik++;
przeniesienie = 0;
}
else
{
przeniesienie = 0;
wszystkoGit = false;
break;
}
}
if (wszystkoGit && przeniesienie == 0)
{
//cout << "i = " << i << " j = " << j << " OK\n";
wynik++;
}
else
{
//cout << "i = " << i << " j = " << j << " ZLE\n";
}
i--;
}
j--;
i = j;
}
cout << wynik;
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | #include <iostream> using namespace std; int main() { string liczba1, liczba2, liczba3; cin >> liczba1 >> liczba2 >> liczba3; int dlugosc1 = liczba1.length(); int dlugosc2 = liczba2.length(); int dlugosc3 = liczba3.length(); long long wynik = 0; bool wszystkoGit = true; short przeniesienie = 0; int i = liczba3.length() - 1; int j = liczba3.length() - 1; //cout << "i = " << i << " j = " << j << endl; while (j >= 0) { while (i >= 0) { przeniesienie = 0; wszystkoGit = true; for (int k = j; k >= i; k--) // k = 0 { //cout << "SUMA = " << liczba1[k] - '0' + liczba2[k] - '0' + przeniesienie << endl; if (liczba1[k] - '0' + liczba2[k] - '0' + przeniesienie == liczba3[k] - '0' + 10) { // int a, b; // a = liczba1[k] - '0' + liczba2[k] - '0' + przeniesienie; //b = // cout << "i = " << i << endl; // cout << "liczba1 = " << liczba1[k] << endl; //cout << "suma liczb = " << a << endl; //cout <<<< b << endl; przeniesienie = 1; } else if (liczba1[k] - '0' + liczba2[i] - '0' + przeniesienie == liczba3[k] - '0') { //cout << "najs" << endl; //wynik++; przeniesienie = 0; } else { przeniesienie = 0; wszystkoGit = false; break; } } if (wszystkoGit && przeniesienie == 0) { //cout << "i = " << i << " j = " << j << " OK\n"; wynik++; } else { //cout << "i = " << i << " j = " << j << " ZLE\n"; } i--; } j--; i = j; } cout << wynik; return 0; } |
English