#include

using namespace std;

string ans2;

void add(string ans, int adj) { int x, y, z; for (int i = adj; i < ans.size() + adj; i++) { if (i >= ans2.size()) { ans2 = char((ans[ans.size() - i + adj - 1] - '0' + z) % 10 + '0') + ans2; z = (ans[ans.size() - i + adj - 1] - '0' + z) / 10; } else { x = ans2[ans2.size() - i] - '0'; y = ans[ans.size() - i + adj - 1] - '0'; ans2[ans2.size() - i] = char((x + y + z) % 10 + '0'); z = (x + y + z) / 10; } } if (z) ans2 = char(z + '0') + ans2; }

int main() { string a, b, ans1; int x, y, z = 0, t, c, d, ans3; cin >> t; for (int _ = 0; _ < t; _++) { cin >> c >> d; ans2 = "1"; for (int n = 1; n < c; n++) { cout << ans2 << " " << a << " " << b << endl; a = to_string(n); b = ans2; ans2 = ""; for (int i = 1; i <= a.size(); i++) { x = a[a.size() - i] - '0'; ans1 = ""; for (int j = 1; j <= b.size(); j++) { y = b[b.size() - j] - '0'; ans1 = char((x * y + z) % 10 + '0') + ans1; z = (x * y + z) / 10; } add(ans1, i); } } ans3 = 0; for (int i = 0; i < ans2.size(); i++) if (ans2[i] - '0' == d) ans3++; cout << ans3 << endl; } return 0; }


原文地址: https://www.cveoy.top/t/topic/pOLx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录