#include<iostream>
#include<cmath>
using namespace std;
int dlugosc(int a){
int s = 0;
while(a > 0){
a = (a-a%10)/10;
s++;
}
return s;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(NULL);
unsigned long long n, suma = 0,p = 0,a,k,l;
cin >> n;
for(int i = 0;i < n;++i){
cin >> a;
while(a <= p){
a *= 10;
k = dlugosc(p) - dlugosc(a);
l = pow(10,k);
if(l > 1){
if(a - a%10 == (p / l) - (p / l)%10){
if((p / l)%10 == 9){
a *= 10;
}
else
a += (p / l)%10 - a%10;
}
}
else{
if(a - a%10 == p - p%10){
if(p%10 == 9){
a *= 10;
}
else
a += p%10 - a%10 + 1;
}
}
suma++;
}
//cout << a << " ";
p = a;
}
cout /*<< '\n' */<< suma;
}
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 | #include<iostream> #include<cmath> using namespace std; int dlugosc(int a){ int s = 0; while(a > 0){ a = (a-a%10)/10; s++; } return s; } int main(){ ios_base::sync_with_stdio(0); cin.tie(NULL); unsigned long long n, suma = 0,p = 0,a,k,l; cin >> n; for(int i = 0;i < n;++i){ cin >> a; while(a <= p){ a *= 10; k = dlugosc(p) - dlugosc(a); l = pow(10,k); if(l > 1){ if(a - a%10 == (p / l) - (p / l)%10){ if((p / l)%10 == 9){ a *= 10; } else a += (p / l)%10 - a%10; } } else{ if(a - a%10 == p - p%10){ if(p%10 == 9){ a *= 10; } else a += p%10 - a%10 + 1; } } suma++; } //cout << a << " "; p = a; } cout /*<< '\n' */<< suma; } |
English