C++ 找规律额

#include <cmath>
#include <iostream>
using namespace std;

int main() {
    int t, n;
    cin >> t;
    while (t--) {
        cin >> n;
        if (n%2==0) cout << n/2 << ' ' << n/2 << endl;
        else if (n/2%10!=9) cout << n/2 << ' ' << n-n/2 << endl;
        // 19 39 999 特殊处理 -> 末位为 4 5 交错 首位为 /2
        else {
            int p=n;
            int i=0, cnt=0, f=1;
            while (p%10==9 && p/10) {
                if (f==-1) i = 10*i+4;
                else i = 10*i+5;
                p /= 10; cnt++; f=-f;
            }
            i += p/2*pow(10,cnt);
            cout << i << ' ' << n-i << endl;
        }
    }

}
// 64 位输出请用 printf("%lld")