a021 我討厭偶數
這題輸入一整數 n ,若偶則一直除2,直到奇數為止
while( n%2==0 ) n/=2; 是偶數就除
這題輸入一整數 n ,若偶則一直除2,直到奇數為止
while( n%2==0 ) n/=2; 是偶數就除
cout n ,不是偶數了才印
a022 細菌繁殖
輸入 n m , n 一直乘3,乘幾次才會>=m
設次數 cnt = 0;
while( n < m ) 當n<m繼續
{
++ cnt ; 次數+1
n *= 3; 每次乘3
}
cout 次數
a023 3N+1
輸入1個 n , 偶數除2,奇數*3+1,直到1為止,輸入的數及1也算,
輸入1個 n , 偶數除2,奇數*3+1,直到1為止,輸入的數及1也算,
含中間變化的數共出現幾個不同的數
設個數 cnt = 1; 輸入的數字算 1 個
while( n != 1 ) 不是 1 繼續
{
if( n%2 == 0 ) n/=2; 偶數 除2
else n = n*3+1; 奇數 *3+1
++cnt ; 計數+1
}
cout 個數
a024 所有位數和
輸入1個數 n 算出每位數的和,例 12345則和為 1+2+3+4+5 = 15
輸入1個數 n 算出每位數的和,例 12345則和為 1+2+3+4+5 = 15
設和 sum = 0;
while( n != 0 ) 每次取個位後除10,直到0為止
{
sum += ( n%10 ); //取個位數 將之加入和 sum內
n /= 10; // 除10 , 因 n 宣告為整數,小數會捨棄
}
cout sum
a025 數字倒轉
輸入1個數 n ,將其倒著印出,例 12345 印 54321,若1200只印21
類似a024但 sum需每次乘10
設定和 sum = 0;
while( n != 0 ) //和每次乘10後,加上原數的個位數
{ // 並每次將原數除10
sum = sum * 10 + ( n%10 ); //取個位數 倒著放
n /= 10; // 除10 , 因 n 宣告為整數,小數會捨棄
}
cout sum
0 意見:
張貼留言