/*
ID: BryatnMark
LANG: JAVA
TASK: AC
*/
import java.util.*;
import java.io.*;
import java.math.*;
import java.util.*;
public class Main {
public static void main(String args[]) throws Exception {
InputStream inputStream = System.in;
OutputStream outputStream = System.out;
InputReader in = new InputReader(inputStream);
PrintWriter out = new PrintWriter(outputStream);
Task solver = new Task();
solver.main(in, out);
out.close();
}
}
class InputReader {
BufferedReader reader;
StringTokenizer tokenizer;
InputReader(InputStream stream) {
reader = new BufferedReader(new InputStreamReader(stream));
tokenizer = null;
}
String next() {
if (!hasNext())
throw new RuntimeException();
return tokenizer.nextToken();
}
boolean hasNext() {
while (tokenizer == null || !tokenizer.hasMoreTokens())
try {
tokenizer = new StringTokenizer(reader.readLine());
} catch (Exception e) {
return false;
}
return true;
}
int nextInt() {
return Integer.parseInt(next());
}
long nextLong() {
return Long.parseLong(next());
}
}
class Task {
long p=1;
void main(InputReader in, PrintWriter out) throws Exception {
long ans,n;
int T,K,k;
long m;
T=in.nextInt();
for(int cas=0;cas<T;++cas)
{
ans=0;
n=in.nextLong();
k=in.nextInt();
K=k*k;
for(p=1;p<=n;p*=K)
{
m=(n/p);
ans+=(m-m/k);
}
out.println(ans);
}
}
}
UVA 11246 K-Multiple Free set
最新推荐文章于 2017-05-03 19:58:00 发布