home · Posts · Archive · Tags

20180128-uva10931

#心得 #Uva10931 #Parity #解題 #討論

一開始解這題的時候,

因為輸入數字可能會很大,

而且後來發現itoa函式也不能用,

因為有些compiler看不懂。

於是我發現有其他人用遞迴的方法(只不過他寫得有點怪?,

於是我就用遞迴法想了一次,

改成我覺得可以的程式。

寫完覺得,我怎麼寫了個這麼難懂的程式碼。

我後來想想,

阿原來還可以位元運算哈哈😂

----------我是分隔線----------

先講一開始為甚麼要用遞迴法:

因為我們要把十進位轉二進位時,其實就是一直除2找餘數。

但數字是從後面寫回去,

遞迴剛好可以讓我可以不用去處理反過來的問題,

只不過想的時候會有點難想,

但比原本想的另一個方法(準備超大陣列然後反轉)還要好,

但我覺得這題用位元運算會比較好,

比較稍微難的地方是要把前面的0給去掉。

比如

0100

要變成

100

Ref

👈Go Back

@alanhc