2019年4月30日 星期二

uva100:3n+1




1.讀input

2.ans不明

所以
(1)ans是maxlength(最大長度),我們用max表示
(2)將規律翻譯出來(此程式還不能執行)
while:因為題目說"停止",所以條件要用while而不是if

3. 接下來,我們知道n是要被丟進if判斷的input,所以要從input裡面找出n的範圍


所以下一個方向是要寫出input從a跑到b這種感覺,我在for裡面宣告一個變數atob(a到b的意思)

為了讓atob可以專心做好永遠都是a到b
不讓atob改變,每次進入迴圈就讓n=atob
for(int n){
}
相當於
int n;
for(){
}
都是在迴圈外宣告、重製的意思
4.公式可以跑之後 我們要來求長度,例如上圖圈起來的atob=3時 長度是7+2(也要數到自己和1)
可以利用count來求長度,這裡的count就是length

 

 5.把count擺if判斷裡面,每運算一次就++



6.在count裡面抓出最大的count





7.最後  測試資料裡面會有 a大b小的資料
所以要把大的擺到b小的擺到a

1 則留言: