其他分享
首页 > 其他分享> > 1419B - Stairs

1419B - Stairs

作者:互联网

思维:

我们可以发现,nice stairs的长度为1,3,7,15... 不难发现,长度变化每次*2+1,而每次长度的nice stairs是等差数列,所以当长度为n时,一共有\(\frac{n*(n+1)}{2}\)个正方形

#include <iostream>
using namespace std;
long long n;
int main () {
	int T;
	cin >> T;
	while (T--) {
		cin >> n;
		int ans = 0;
		long long cnt = 1;
		while (n >= cnt*(cnt+1)/2) {
			n -= cnt*(cnt+1)/2;
			ans++;
			cnt = cnt*2+1;
		}
		cout << ans << endl;
	}
	return 0;
}

标签:cnt,int,long,ans,1419B,长度,Stairs,nice
来源: https://www.cnblogs.com/incra/p/16390101.html