Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- #define ll long long
- ll get(ll a) {
- if (a >= 0 && a <= 3) {
- return 1;
- } else if (a >= 4 && a <= 5) {
- return 2;
- } else if (a == 6) {
- return 3;
- } else if (a >= 7 && a <= 8) {
- return 4;
- } else if (a == 9) {
- return 5;
- }
- }
- int main() {
- ll n, m;
- cin >> m;
- for (int i = 0; i < m; ++i) {
- cin >> n;
- ll t = n;
- ll last = n;
- ll k = 0;
- while (t) {
- if (t/10==0) {
- last = t;
- }
- t /= 10;
- ++k;
- }
- if (k==0) k = 1;
- ll ans = 5;
- ll tmp = 5;
- for (ll i = 2; i < k; ++i) {
- ans += 4*tmp;
- tmp *= 5;
- }
- if (k == 1) {
- ans = get(n);
- } else {
- if (last >= 5 && last <= 6) {
- ans += tmp;
- } else if (last == 7) {
- ans += 2*tmp;
- } else if (last >= 8 && last <= 9) {
- ans += 3*tmp;
- }
- if (last == 4 || last == 6 || last == 7 || last == 9) {
- ll tmp1 = 1, tmp2 = 1;
- ll sum = 0;
- while (true) {
- if (n / 10 == 0) {
- break;
- }
- sum += (get(n%10)-1)*tmp1;
- if (n/100 != 0) tmp2 *= get(n%10);
- n /= 10;
- }
- //cout << "sum: " << sum << '\n';
- ans += sum+tmp2;
- }
- }
- cout << ans << '\n';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement