84分错误
查看原帖
84分错误
287355
1lgorithm楼主2020/8/20 16:38

用对数做的,84分

#include<iostream>
#include<cmath>
using namespace std;
int main(){
	long long w,r,l;
	cin>>l>>r>>w;
	if(l==0){
		l=1;
	}
	long double m=log(w),n=log(r),x=log(l);
	n=n*1.0/m;
	x=x*1.0/m;
	if(n-x<1&&ceil(x)!=floor(n)){
		cout<<-1;
		return 0;
	}
	int z=floor(n),k=ceil(x);
	for(int i=k;i<=z;i++){
		cout<<(long long)pow(w,i)<<' ';
	}
}

2020/8/20 16:38
加载中...