大数乘法
来源:互联网 发布:mac怎么恢复废纸篓 编辑:程序博客网 时间:2024/06/18 01:33
public class BigIntMultiply { public static void main(String[] args) { // TODO Auto-generated method stub @SuppressWarnings("resource") Scanner s = new Scanner(System.in); String str1 = new String(); String str2 = new String(); while (s.hasNext()){ str1 = s.nextLine(); str2 = s.nextLine(); char [] charArr1 = str1.toCharArray(); char [] charArr2 = str2.toCharArray(); covertdata(charArr1,charArr1.length); covertdata(charArr2,charArr2.length); multiply(charArr1, charArr2, charArr1.length, charArr2.length ); } } public static void covertdata(char data[], int len) { for (int i = 0; i < len/2; i++){ data[i] += data[len - 1 -i]; data[len - 1 -i] = (char) (data[i] - data[len - 1 -i]); data[i] = (char) (data[i] - data[len - 1 -i]); } } public static void multiply(char []char1, char []char2, int length1, int length2){ int mullength = length1 + length2 + 1; int mul[] = new int [mullength] ; for (int ii = 0; ii < mullength; ii ++ ) mul[ii] = 0; for (int i = 0; i < length1; i++){ for (int j = 0; j < length2; j++){ mul[i+j] += Integer.parseInt(String.valueOf(char1[i]))* Integer.parseInt(String.valueOf(char2[j])); } } for (int m = 0; m < mullength-1; m++){ int carry = mul[m]/10; mul[m] = mul[m]%10; mul[m+1] += carry; } int n; for ( n = mullength-1; n>=0; n--){ if (mul[n] != 0) break; } String output = ""; for(int jj = n; jj >= 0 ; jj--){ output = output + mul[jj];//拼接成字符串,最终放在变量s中 } System.out.println(output); }}
阅读全文
0 0
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- 大数乘法
- .NET快速信息化系统开发框架 V3.2--Web版本新增“文件管理中心”集上传、下载、文件共享等一身,非常实用的功能
- Linux操作系统的BIOS启动流程
- 网络管理(二)
- Java8源码-Hashtable(2)
- Nginx + keepalived 实现高可用HA 【主从架构】
- 大数乘法
- 动态规划算法
- 同一服务器部署多个tomcat配置
- lintcode 173 单链表插入排序 python
- 用CSS3美化半个字符巧妙方法
- JavaScript中apply()、call()和bind()的相似与区别
- 根据函数名称导出函数
- sort排序
- 51nod 1597 有限背包计数问题 dp