任給乙個正整數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 另外,可以向你確保所有的輸入資料是合法的。對於...