除以三,乘以二

2022-06-09 08:15:09 字數 1952 閱讀 4629

泰泰學長喜歡玩數字(不知道什麼奇怪的癖好)。他在黑板上寫下乙個數字 x ,然後進行 n-1 次以下兩種操作:

每次操作完成後,泰泰學長在黑板上寫上這個操作後的新數字,並讓這個新數字作為新的 x 繼續下一次操作。最後黑板上有 n 個數字。

由於泰泰學長是隨機在黑板上的位置寫數字的,所以他最後忘記了順序。現在泰泰學長只知道所有的數字,你能幫助泰泰學長找出一種可能的序列嗎?

保證答案一定存在。

input

第一行是數字總數 n (2 ≤ n ≤ 100)。第二行包含 n 個數字a1,a2,…,an (1 ≤ ai ≤3×10^18),注意是不按順序的。

output

輸出 n 個數字,按照泰泰學長寫數字的順序排列。

保證答案一定存在。

examples

input

6

4 8 6 3 12 9

output

9 3 6 12 4 8

input

4

42 28 84 126

output

126 42 84 28

input

2

1000000000000000000 3000000000000000000

output

3000000000000000000 1000000000000000000

note

第乙個樣例中的可能順序為:[9, 3, 6, 12, 4, 8]。此時開始的 x=9

ac**1:

#include#include 

#include

#include

#include

#include

#include

using

namespace

std;

inline

int read()

typedef

long

long

ll;const

int maxn=1000

;ll a[maxn];

ll b[maxn];

mapint>mp;

intmain()

ll ans;

intj;

for(int i=0;i)

else

if(mp[ans*2]==1

)

else

}if(j==n)

}else

}

}}

ac**2(dfs):

#include#include 

#include

#include

#include

#include

#include

using

namespace

std;

inline

int read()

typedef

long

long

ll;const

int maxn=1000

;map

int>mp;

ll a[maxn];

ll b[maxn];

int flag=0

;int

n;void dfs(ll x,int

p)

if(p==n)

if(x%3==0&&mp[x/3]==1

)

else

if(mp[x*2]==1)}

intmain()

for(int i=0;i)

break

; }

}return0;

}

判斷二進位制數除以3的餘數

乙個非常有意思的問題 判斷乙個二進位制的數除以3的餘數。思路 首先肯定會想到十進位制除3整除的規則 每位數相加的和能被3整除。但是按照這樣的思路去考慮二進位制的情況容易進入到死胡同裡。考慮以下方法 二進位制的數再加一位0就是原來的值 2,再加上一位1就是原來的值 2 1。那麼考慮以下的狀態轉換 以下...

最小二乘以及最小二乘求解超定方程組最優解的推導

nabla 表示的是求導運算,設a是乙個 n times n的矩陣,f表示一種函式關係,則 nabla a f a katex parse error can t use function in math mode at position 18 begin partial f a b c均為矩陣 t...

姓名相加除以二測試緣分 手相算命測試 姻緣線怎麼看

俗話說 一命二運三風水四積陰德五讀書。在這裡你可以了解算命婚姻 生辰八字 看手相面相 測試愛情緣分 測事業和財運 測試星座生肖運勢 塔羅牌占卜測試 測八字合婚,測姓名配對,周公解夢大全.了解人生命理,知運改命!從生辰八字看你未來運勢 準的可怕 財運風水布局,把握你的流年財運 揭曉你的三世情緣,立即檢...