請不要直接抄寫程式碼! 也請不要直接跳到程式碼部分,除非你已經寫好了,想要參考別人的寫法!

回家功課11

  • while 是迴圈的一種,只要條件成立(ture),就繼續執行
  • 因為 1 在程式裡可以代表 true ,所以 while(1) or while(true) 就會是無窮迴圈,通常搭配 break 來跳脫迴圈
  • 用一變數來記錄次數,若變數不初始化就做對自己運算則會錯誤:
int number;
number++; // number = number +1;
cout<<number;
// 輸出結果會是亂數,因為電腦不知道 number 是多少

程式碼大概如下:

#include <iostream>  
using namespace std;  
int main()  
{  
    while(1){  
        int n;  
        cin>>n;  
        if ( n == -1 )  
            break;  

        int counter = 0;  
        while(1){  
            if ( n%2==0 ){  
                counter++;  
                n /= 2;  
            }  
            else  
                break;  
        }  
        cout<<counter<<endl;  
    }  
}

如果有任何問題,歡迎私訊跟我討論喔!