1. 程式人生 > >【題解】[牛客網NOIP賽前集訓營-提高組(第四場)]A.動態點分治 模擬

【題解】[牛客網NOIP賽前集訓營-提高組(第四場)]A.動態點分治 模擬

題目連結
在這裡插入圖片描述
在這裡插入圖片描述


在這裡插入圖片描述

#include<cstdio>
typedef long long ll;
int t,find;
ll l,r,k,x;
int main()
{
	//freopen("in.txt","r",stdin);
    scanf("%d",&t);
    while(t--)
    {
    	find=0;
    	scanf("%lld%lld%lld",&l,&r,&k);
    	switch(k){
    		case 0:{
    			if(l<=0&&0<=r)printf("0 "),find=1;
			}
			case 1:{
				if(l<=1&&1<=r)printf("1 "),find=1;
				break;
			}
			default:for(x=1;;)
			{
					if(l<=x&&x<=r)printf("%lld ",x),find=1;
					if(x<=r/k)x*=k;else break;
			}
		}
		if(!find)puts("None.");else puts("");
	}
	return 0;
} 

總結

根據題目模擬