求复杂度
查看原帖
求复杂度
1100122
yiluntaiyang楼主2024/11/23 22:20
#include<bits/stdc++.h>
using namespace std;
long long k;
int T;
int main()
{
	cin>>T;
	while(T--)
	{
		cin>>k;
		if(k==0) cout<<"NO!";
		else{
			if(k%2==1)
			{
				cout<<1<<endl;
			}
			else
			{
				int ans=0;
				k++;
				while((k/2)%2==0)
				{
					ans++;
					k/=2;
					k+=1;
				}
				cout<<ans+2<<endl;
			}	
		}
	}
	return 0;		
} 

自己画了画写的,好奇这样写有没有确定的复杂度,因为我不知道中间的while得跑多久

2024/11/23 22:20
加载中...