10.7
#include<bits/stdc++.h> using namespace std; int main() { int T ; cin >> T ; for(int i=0 ; i<T ;i++) { long long l,r,k; cin>>l>>r>>k; if(r<k) { if(l<=1) { cout <<l; } else { cout <<"None"; } } else if(r==k) { if(l<=1) { cout <<l<<" "<<r; } else { cout <<r; } } else { if(l<=1) { long long x=k; cout <<l<<" "; for(long long a= l;a<=r;a++) { if(a == x) { cout <<a<<" "; x=x*k; } } } else if(l>1&& l<k) { long long x=k; for(long long a= l;a<=r;a++) { if(a == x) { cout <<a<<" "; x=x*k; } } } else { for(long long a= l;a<=r;a++) { long long x=a; while(x%k==0) { if(x/k==1) { cout << a<<" "; } x=x/k; } } } } cout<<endl; } return 0; }
这是前两天模拟练习遇到的题,今天拿出来重做,能输出答案,但是计算的特别慢,会超出题目给的时间
修改.ing