本文共 649 字,大约阅读时间需要 2 分钟。
要解决的问题是:给定一个数n和一个素数p,计算n!在p进制下后导零的个数。这个问题可以通过计算n!中包含多少个p的因数来解决。
步骤如下:
具体代码实现:
#includeusing namespace std;int main() { int t, n, p; cin >> t; for (int i = 0; i < t; ++i) { cin >> n >> p; int count = 0; while (n > 0) { n /= p; count += n; } cout << count << endl; } return 0;}
代码解释:
cin读取输入数据,首先读取测试用例的数量t,然后依次读取每个测试用例的n和p。while循环不断将n除以p,直到n变为0。每次除法后将结果累加到count变量中。这个方法高效且直接,能够在合理时间内处理输入范围内的所有测试用例。
转载地址:http://mrym.baihongyu.com/