C语言例题29:在屏幕上显示一个等腰三角形

阅读 5

2024-05-03

传送门:P3152 正整数序列


题目意思就是说问你一个数进行多少次+1/-1的操作能变成0。

那你就做一个k=1,在k<=n时一直ans++,大于时就跳出去,输出ans。

代码很简单:

#include <bits/stdc++.h>
using namespace std;
int n; 
int main() {
    cin >> n;
    register int k = 1, ans = 1;
    while(k <= n) {
        ans ++;
        k += (k + 1); 
    }
    cout << ans;
    return 0;
} 

精彩评论(0)

0 0 举报