1129 零起點學演算法36 3n 1問題

2021-08-16 17:28:19 字數 408 閱讀 7802

任給乙個正整數n,如果n為偶數,就將它變為n/2,如果為奇數,則將它乘3加1(即3n+1)。不斷重複這樣的運算,經過有限步後,一定可以得到1 。

input

輸入1個正整數n(n <= 10^10)(多組資料)

output

輸出變化的次數(每組資料一行)

sample input

3sample output

7

#includeint main()

printf("%d\n",con);

}return 0;

}

然後一直報時間超時的錯誤,原來我用的一直是int型別的資料,而題目說

n <= 10^10,所以將int改為long long 就可以了;

錯誤反省:沒有看清題目的要求

1129 零起點學演算法36 3n 1問題

time limit 1 sec memory limit 64 mb 64bit io format lld submitted 4541 accepted 1235 submit status web board 任給乙個正整數n,如果n為偶數,就將它變為n 2,如果為奇數,則將它乘3加1 即3...

零起點學演算法68 刪除字元

include include include int main printf n memset str,0,sizeof str getchar 不寫會出錯 return 0 這是乙個非常水的題,主要想講一下gets 讀取的換行符會被轉化成 0 來結束字串的讀入。但是gets之後,再次讀取乙個字元...

零起點學演算法104 第幾天?

time limit 1 sec memory limit 128 mb 64bit io format lld 給定乙個日期,輸出這個日期是該年的第幾天。輸入資料有多組,每組佔一行,資料格式為yyyy mm dd組成,具體參見sample input 另外,可以向你確保所有的輸入資料是合法的。對於...