進製轉化演算法(C 實現) 創新工場筆試歸來

2021-05-23 09:16:01 字數 1171 閱讀 6554

10月17號晚上參加了創新工場的校園招聘筆試,題目很少,時間是乙個小時。很多題目像是智力測驗,想我這種反應慢的人實在是不適合參加創新工廠的考試。最後一道題是一道程式設計題。我之前沒寫過類似的程式,答得很差。回到宿舍後,我將這道題做了出來與大家分享。想加入創新工場的青年可以參考一下。

題目大致是這樣的:程式設計實現將十進位制的整數轉化成任意進製的整數,使用者輸入乙個十進位制數r和想要轉化的進製數x,程式輸出轉換後的x進製的整數。

例如:r      x      輸出

3      2       11

12    8       14

31    16     1f

注意:1下面是我用c++實現的**,程式在visual c++ 6.0 上執行過了。程式不足之處是沒有使用者的安全輸入檢查。

#include

#include

using namespace std;

void numtochar(char &num)

/*num是0到9之間的數字*/

if(num<=9&&num>=0)

num+=48;

else

switch(num)

case 10:num='a';

case 11:num='b';

case 12:num='c';

case 13:num='d';

case 14:num='e';

case 15:num='f';

/*進製轉化函式——x表示進製,r表示十進位制數*/

void decimaltransmit(int r,int x)

vectorresult;

char temp;

while(r>0)

temp=r%x;

numtochar(temp);

result.push_back(temp);

r=r/x;

vector::iterator vc_it=result.end()-1;

for(;vc_it>=result.begin();vc_it--)

cout<<*vc_it;

coutint r,x;

cout<<"請輸入乙個十進位制數和要轉化的進製:";

cin>>r>>x;

decimaltransmit(r,x);

return 0;

創新工場筆試小記(創新工廠演算法筆試題)

筆試題量很小,答題時間1個小時。1道填空題,9道左右選擇題,最後一道程式設計題。第一題 c intf intx return c int f int x return c 對於int a 65536 1024 8 1 int b f a 執行後b等於多少?第二題 5個骰子,六個面分別標有1 6,現在...

創新工場筆試題

1.輸入乙個整型無序陣列,用堆排序的方法是陣列有序 2.求乙個正整數的開方,要求不能使用庫函式sqrt,結果精度在0.01即可 3.給定乙個矩陣int matrixa m n 每行沒列都是增序的,實現乙個演算法尋找矩陣中的某個元素element 下面做出我的題解,能力有限,望見諒!第一題 堆排序 考...

創新工場2023年校園招聘筆試題

1 include union a void main 執行結果 266 3 路由器與交換機的區別 4 程序與執行緒的差別 a 作業系統只排程程序,不排程執行緒 b 執行緒共享記憶體位址空間,程序不共享 c 執行緒間可以共享記憶體資料,但程序不可以 d 程序間可以通過ipc通訊,但執行緒不可以 5 ...