天天看點

C/C++描述 第十一屆藍橋杯省賽 第一場(2020.7.5) 試題 G: 整除序列 題目+題解

第十一屆藍橋杯省賽C/C++大學B組 第一場

  大家好,我叫亓官劼(qí guān jié )
C/C++描述 第十一屆藍橋杯省賽 第一場(2020.7.5) 試題 G: 整除序列 題目+題解

試題 G: 整除序列

時間限制: 1.0s 記憶體限制: 512.0MB 本題總分:20 分

【問題描述】

有一個序列,序列的第一個數是 n,後面的每個數是前一個數整除 2,請輸

出這個序列中值為正數的項。

【輸入格式】

輸入一行包含一個整數 n。

【輸出格式】

輸出一行,包含多個整數,相鄰的整數之間用一個空格分隔,表示答案。

【樣例輸入】

20

【樣例輸出】

20 10 5 2 1

【評測用例規模與約定】

對于 80% 的評測用例,1 ≤ n ≤ 109。

試題G 題解

#include <iostream>
using namespace std;
int main(){
    long long int n;
    cin>>n;
    while(n){
        // 輸出資料量較大,使用printf比較好
        // 在藍橋杯系統系統中,lld應使用%I64d
        printf("%lld ",n);
        n = n>>1;
    }
    return 0;
}