小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩台魔法機器可以通過投入x(x可以為0)個魔法幣產生更多的魔法幣。
魔法機器1:如果投入x個魔法幣,魔法機器會將其變為2x+1個魔法幣
魔法機器2:如果投入x個魔法幣,魔法機器會將其變為2x+2個魔法幣
小易採購魔法神器總共需要n個魔法幣,所以小易只能通過兩台魔法機器產生恰好n個魔法幣,小易需要你幫他設計乙個投入方案使他最後恰好擁有n個魔法幣。
輸入描述:
輸入包括一行,包括乙個正整數n(1 ≤ n ≤ 10^9),表示小易需要的魔法幣數量。輸出描述:
輸出乙個字串,每個字元表示該次小易選取投入的魔法機器。其中只包含字元』1』和』2』。輸入例子1:
10
輸出例子1:
122
思路:逆向推導,可以觀察到,從魔法機器1出來的魔法幣,數量一定是奇數,從魔法機器2出來的魔法幣,數量一定是偶數,那麼可以利用這一點,推導出本次魔法幣是從哪台機器**來的,再根據逆向演算法推導,就可以投入前的魔法幣數量,最後一直推導0c**實現:
#include
#include
#include
#include
#include
using
namespace std;
intmain()
else
}for
(int i=
(str.
length()
-1);i>=
0;i--
)printf
("\n");
return0;
}
網易筆試程式設計題 魔法幣
小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩台魔法機器可以通過投入x x可以為0 個魔法幣產生更多的魔法幣。魔法機器1 如果投入x個魔法幣,魔法機器會將其變為2x 1個魔法幣 魔法機器2 如果投入x個魔法幣,魔法機器會將其變為2x 2個魔法幣...
網易2018面試題 魔法幣
小易準備去魔法王國採購魔法神器,購買魔法神器需要使用魔法幣,但是小易現在一枚魔法幣都沒有,但是小易有兩台魔法機器可以通過投入x x可以為0 個魔法幣產生更多的魔法幣。魔法機器1 如果投入x個魔法幣,魔法機器會將其變為2x 1個魔法幣 魔法機器2 如果投入x個魔法幣,魔法機器會將其變為2x 2個魔法幣...
筆試 魔法幣問題
小易現在一枚魔法幣都沒有 魔法機器1 如果投入x個魔法幣,魔法機器會將其變為2x 1個魔法幣 魔法機器2 如果投入x個魔法幣,魔法機器會將其變為2x 2個魔法幣 小易採購魔法神器總共需要n個魔法幣,所以小易只能通過兩台魔法機器產生恰好n個魔法幣,小易需要你幫他設計乙個投入方案使他最後恰好擁有n個魔法...