站外题目30pts求条,玄关
  • 板块题目总版
  • 楼主_QWQ_TAT_
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/22 15:07
  • 上次更新2024/5/22 18:42:01
查看原帖
站外题目30pts求条,玄关
1011907
_QWQ_TAT_楼主2024/5/22 15:07

ACon#1,#3,#6 题目大意为从小到大输出[l,r][l,r]范围内能表示成kk的非负整数次方的数,特殊规定00=10^0=1。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll; 

ll t,l,r,k;

int main(){
//	freopen("output.in","r",stdin);
//	freopen("output.out","w",stdout);
	cin>>t;
	while(t--){
		bool fl=0;
		cin>>l>>r>>k;
		if (k==0){
			if (l<=1 && 1<=r){
				cout<<1<<" ";
				fl=1;
			}if (l<=0 && 0<=r){
				cout<<0<<" ";
				fl=1;
			}
			if (!fl) cout<<"None."; 
		}else if (k==1){
			if (l<=1 && 1<=r){
				cout<<1<<" ";
				fl=1; 
			}
			if (!fl) cout<<"None.";
		}else{
			__int128 x=1;
			while(x<=r){
				if (x>=l){
					ll now=x;
					cout<<now<<" ";
					fl=1;
				}
				x*=k;
			}
			if (!fl) cout<<"None.";
		}
		puts(" ");
	}
	return 0;
}
2024/5/22 15:07
加载中...