#include<bits/stdc++.h>
using namespace std;
void fun(long long n,int k){
long long ans=n;//求质因数模板
for(int i=2;i<=n/i;i++){
int s;
if(n%i==0){
s=0;
while(n%i==0){
s++;
n=n/i;
}
if(s<k)ans/=pow(i,s);
}
}
if(n>1)ans/=n;//剩余的一次项,因为k>1,所以要除去
cout<<ans<<endl;
}
int main(){
int q;
cin>>q;
for(int i=0;i<q;i++){
long long n;
int k;
cin>>n>>k;
fun(n,k);
}
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla