1.题目详情
2.输入输出格式及样例说明
3.思路
本题为PAT甲级真题《质因子》的变式,只需要在之前的代码中稍作修改即可。
4.C++代码如下(100分)
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main ()
{
int q;
cin >> q;
LL res;
LL n;
int k;
for(int i = 0;i<q;i++){
res = 1;
n = 0;
k = 0;
scanf("%lld",&n);
scanf("%d",&k);
for(int i = 2;i<=n/i;i++){
int coef = 0;
while(n % i == 0){
n /= i;
coef++;
}
//本题的变式在于如果某项指数大于等于指定阈值k,此项才会保留,否则不计入结果。
if(coef >= k) res *= pow(i,coef);
}
cout << res << endl;
}
return 0;
}