機試演算法講解 第21題 再談進製轉換

2021-07-04 05:43:03 字數 916 閱讀 2058

/*

求任意兩個不同進製非負整數的轉換,所給整數在long範圍。不同進製的表示符號為(0,1,...,9,a,b,...,f)或者(0,1...,9,a,b,...,f)

輸入:一行,3個整數a,n,b.a表示其後的n是a進製整數,b表示欲將a進製整數n轉換成b進製整數。a,b是十進位制整數,2<=a,b<=16

輸出:該整數轉換後的b進製數,字母符號大寫表示(0,1,...,9,a,b,...,f)

輸入:15 aab3 7

輸出:210306

思路:a->10->b

a進製先轉換為10進製,利用各位依次乘以10的0次方,1次方,。。。.10進製轉換為進製,利用除k取餘法。

*/#include #include #include int main(int argc,char* argv)

else if(n[i] <= 'z' && n[i] >= 'a')

else if(n[i] <= '9' && n[i] >= '0')

//lsum += lsum*a + x;//易錯,這裡不是lsum +=,而是lsum =

lsum = lsum*a + x;

//printf("%ld",lsum);

} printf("%ld\n",lsum);

//接下來將10進製數轉換為b進製數,採用除b取餘的方法

int ibit[20],j = 0;

char sbit[20];

dowhile(lsum);

sbit[j] = '\0';

//逆序列印

j--;

for(; j >= 0 ; j--)

}system("pause");

getchar();

return 0;

}

機試演算法講解 第55題 Piggy Bank

問題 與乙個儲蓄罐,告知空的質量和當前重量,並給定一些錢幣的價值和相應的重量,求儲蓄罐中最少有多少現金。輸入 包含t組測試用例。第一行。每乙個測試用例包含2個整數e和f,表明空儲蓄罐的重量和裝滿錢的重量。10,000g,第二行是每個測試用例,包含乙個整數n 1 n 500 給出了各種硬幣的數量。接下...

機試演算法講解 第58題 輸入外掛程式

輸入外掛程式 scanf快於 cin,在scanf基礎上再次優化,使那些剛超時一點的程式能夠卡金時限範圍。原理 在讀入緩衝中字元的前提下,手動分析字串中輸入的整數 浮點數等我們需要的輸入型別,並將其儲存在變數中 include include include 輸入整數,並將整數儲存在引用變數ret中...

機試演算法講解 第7題 輸出梯形

問題 輸入高度h,輸出高為h,上底邊圍h的梯形 思路 由於多出的底邊x可以設為任意值,不放設x h 第1行,h h 第2行,列印h 1個空格,1個 然後列印h個空格,再列印1個 h 2 1 3 h 2 1 h 2 1 1個 h 2 2 4 h 3個空格,1個 h 2 2 1個 h 1 2 1個 h ...