easy42 的运势
§ 大吉 §
宜:学新算法
看一遍就懂了
宜:写洛谷日报
文思泉涌,下笔如有神万事皆宜
你已经在洛谷连续打卡了 225 天
Today is Chinese Exam.
P1591 阶乘数码到底哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了哪错了?
多测不清空,爆零两行泪。
#include <bits/stdc++.h>
using namespace std;
#define int long long
int t, n, a;
int c[100005];
string q, s;
string ch (string a, string b){q="";memset(c, 0, sizeof(c));for (int i = a.size() - 1; i >= 0; i--){for (int j = b.size() - 1; j >= 0; j--){c[(a.size() - i) + (b.size() - j) - 1] += (a[i] - '0') * (b[j] - '0');}}int len = a.size() + b.size();for(int i = 0; i <= len - 1; i ++){c[i + 1] += c[i] / 10;c[i] %= 10;}for (;!c[len];) len--;for(int i = max((int)1, len); i >= 1; i--) q += (c[i] + '0');return q;
}
signed main(){cin >> t;while(t--){cin >> n >> a;s = "1";for(int i = 1; i <= n; i++){s = ch(s, to_string(i));}int ans = 0; for(int i = 0; i < s.size(); i++){if(s[i] == (a + '0')) ans++;} cout << ans << endl;}return 0;
}