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



京公网安备 11010502036488号