才去新公司上班,开始转VB.NET,不知道怎么开始适应,就想起以前的笔试题,直接转用VB来搞搞。
其实题目并不难,算法都知道,但真要写出实际的函数来还真需要点耐心和细心。

1、不使用数学转换,使用原始算法将一个10进制数字转换为16进制。
2、计算两个大数的乘积。


第一道不难,很快搞定

首先是转换16进制的字符:
 1两道笔试题的解法    '将数字转换为16进制的数字
 2End Function


然后用除法递规取余数,最后表现出来即可

 1两道笔试题的解法    Private Const normal As Integer = 10
 2两道笔试题的解法    Private Const divisor As Integer = 16
 3两道笔试题的解法
 4End Function


第二题使用字符数组存储,使用加法计算是必然的。但是,我查了好多资料都是说直接以一个数按位数与另一个数相乘,这点上偶不敢苟同。按我的想法是首先必须写两个大数的加法,然后按位数的乘法转换为这种加法来计算。当然,我不知道能不能使用到位运算符,要是能用到效率将更高。

第二题暂没有测试好的程序,以后贴出。

相关文章: