AtCoder ABC 215 B 發表於 2021-12-11 分類於 ojques 文章字數: 501 所需閱讀時間 ≈ 1 分鐘 題目連結AtCoder Beginner Contest 215: B - log2(N)題目敘述輸入正整數\(N\), 輸出最大整數\(k\) 使\(2^{k} \le N\). 範例輸入 111000000000000000000 範例輸出 1159 範例輸入 216 範例輸出 212 題解用迴圈循環計算。 在整數運算時 ans<<=1 相當於 ans*=2 。 1234567891011121314151617#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0);cin.tie(0); long long n; cin>>n; int ct=0; long long ans=1; while(ans*2<=n){ ans<<=1; ct++; } cout<<ct;} 注意!用內建函式 log2(n) 不會過的喔!