Skip to content

SP 19164题解

Published: at 04:06

题意

给定 n,k,mn,k,m,求 n×ktmn×k^t \leq m 时,tt 的最大值。

思路

对于这种给定幂的底数求幂的指数的题,我们可以想到用 log 这个方便而快捷的函数来解决。

log 函数有一个参数,作用是返回参数的 自然对数 (即以 ee 为底的对数)。

代码

#include<bits/stdc++.h>
using namespace std;
long long f(long long n,long long k,long long m){
	if (m<n){
		return 0;
	}
	return floor(log(m/n)/log(k));
}
int main(){
	int p;
	cin>>p;
	for (int i=1;i<=p;i++){
		long long n,k,m;
		cin>>n>>k>>m;
		cout<<f(n,k,m)<<endl;
	}
	return 0;
}

Page Views Count