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")