大数相乘(java)
来源:互联网 发布:ff14龙族女捏脸数据 编辑:程序博客网 时间:2024/04/29 18:48
mport
java.util.Scanner;
02
03
public
class
Multiply
04
{
05
public
String mul(String str1,String str2)
06
{
07
StringBuffer bstr=
new
StringBuffer();
08
int
i=
0
,j=
0
;
09
for
(i=
0
;i<str1.length()+str2.length();i++)
10
{
11
bstr.append(
'0'
);
12
}
13
int
k=bstr.length()-
1
,add=
0
,temp=
0
;
14
for
(j=str2.length()-
1
;j>=
0
;j--)
15
{
16
if
(str2.charAt(j)!=
'0'
)
17
{
18
for
(i=str1.length()-
1
;i>=
0
;i--)
19
{
20
k=i+j+
1
;
21
temp=(str2.charAt(j)-
'0'
)*(str1.charAt(i)-
'0'
)+(bstr.charAt(k)-
'0'
);
22
bstr.setCharAt(k--, (
char
)(
'0'
+temp%
10
));
23
add=temp/
10
;
24
while
(add!=
0
)
25
{
26
temp=add+bstr.charAt(k)-
'0'
;
27
bstr.setCharAt(k--, (
char
)(
'0'
+temp%
10
));
28
add=temp/
10
;
29
}
30
}
31
}
32
}
33
return
bstr.substring(firstNotZeroIndex(bstr));
34
}
35
36
private
int
firstNotZeroIndex(StringBuffer str)
37
{
38
for
(
int
i=
0
;i<str.length();i++)
39
if
(str.charAt(i)!=
'0'
)
40
return
i;
41
return
str.length()-
1
;
42
}
43
44
public
static
void
main(String[] args)
45
{
46
Multiply mul=
new
Multiply();
47
Scanner cin=
new
Scanner(System.in);
48
System.out.print(
"请输入第一个整数:"
);
49
String str1=cin.next();
50
System.out.print(
"请输入第二个整数:"
);
51
String str2=cin.next();
52
System.out.print(
"结果是:"
);
53
System.out.println(mul.mul(str1, str2));
54
}
55
}
- 大数相乘(java)
- 大数相乘(java)
- 大数相乘 (JAVA版)
- 大数算法 -- 正整数相乘(Java 实现)
- Bull Math(java大数相乘)
- 大数相乘问题(Java实现)
- 俩个大数相乘(java实现)
- 大数相乘问题(java版)
- 关于大数相乘问题(Java实现)
- java版大数相乘
- JAVA大数相乘
- Java 两大数相乘
- JAVA 大数相乘
- 大数相乘 java
- JAVA两个大数相乘
- java大数相乘
- Java实现大数相乘
- java大数相乘算法
- ☆ Visual Studio 2008 每日小窍门 【持续发布中~】 Tips:086
- 手把手教你用c#做个Splash(启动屏幕)
- ☆ Visual Studio 2008 每日小窍门 【持续发布中~】 Tips:087
- C语言:八进制转十进制
- 静态库能否调用动态库或者静态库
- 大数相乘(java)
- MongoDB学习笔记(一) MongoDB介绍及安装
- ☆ Visual Studio 2008 每日小窍门 【持续发布中~】 Tips:088
- 关于自己暑假实习的记录
- jiffies溢出与时间先后比较 + linux的HZ, Tick, Jiffies
- 各种数学符号
- Java的反射的动态生成
- PHP调试工具Xdebug安装配置教程
- C# 系统托盘 控件NotifyIcon