D - CTZ Editorial by MMNMM


整数 \(n\) から \(\operatorname{ctz}(n)\) を求める関数が標準に存在する言語もあります。 例えば、C++ では std::countr_zero が、Rust では trailing_zeros が \(\operatorname{ctz}(n)\) を求める関数です。

そのような言語でその関数を用いることによってもこの問題を解くことができます。

実装例は以下のようになります。

C++ による実装例

#include <iostream>
#include <bit>
using namespace std;

int main(){
    unsigned N;
    cin >> N;

    cout << countr_zero(N) << endl;

    return 0;
}

Rust による実装例

use proconio::input;

fn main() {
    input! {
        N: u32,
    }

    println!("{}", N.trailing_zeros());
}

posted:
last update: