社区
Eclipse
帖子详情
关于java大数运算的问题(如大数相乘)
风尘流月
2012-02-27 08:39:57
刚学java的一个菜鸟,想问一下大家在不调用专门的API的前提下,这段程序 要怎么写啊?给点思路,代码不必给了。。
...全文
768
7
打赏
收藏
关于java大数运算的问题(如大数相乘)
刚学java的一个菜鸟,想问一下大家在不调用专门的API的前提下,这段程序 要怎么写啊?给点思路,代码不必给了。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻侠客
2012-05-24
打赏
举报
回复
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] x=[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9];
int[] y=[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9];
System.out.println( multiiply(X,Y));
}
private static int[] multiiply(int[] x,int[] y){
int[] mtpy=null;
int xSize=x.length;
int ySize=y.length;
for (int i = xSize; i>=0; i--) {
int xshu=x[i];
for (int j = ySize; j >=0; j--) {
int yshu=y[j];
int sun=xSize+ySize-i-j;
int[] zt=new int[sun+3];
}
}
return mtpy;
}
寻侠客
2012-05-24
打赏
举报
回复
public static void main(String[] args) {
int[] X = {1,1,1,1,1,1,1,1,1,1,1};
int[] Y = {1,1,1,1,1,1,1,1,1,1,1};
MaxCheng ch = new MaxCheng();
int[] z = ch.multiiply(X, Y);
for (int i = 0; i < z.length; i++) {
if(z[i]==0&&i==0){}
else
System.out.print(z[i]);
}
}
public int[] multiiply(int[] x, int[] y) {
int xSize = x.length;
int ySize = y.length;
int[] jg = new int[xSize + ySize];
for (int i = xSize - 1; i >= 0; i--) {
for (int j = ySize - 1; j >= 0; j--) {
int ji = x[i] * y[j];
for (int k = i + j + 1; k >= 0; k--) {
ji = jg[k] + ji;
if (ji < 10) {
jg[k] = ji;
break;
} else {
jg[k] = ji % 10;
ji = ji / 10;
}
}
}
}
return jg;
}
这个 可以用
寻侠客
2012-05-24
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] x=[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9];
int[] y=[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9];
System.out.print……
[/Quote]
这个错了,一年前写的 ,没仔细看,就发表了,今天仔细看了看,才发现 复制错了!
rispa_yang
2012-03-11
打赏
举报
回复
可以使用 java.math包中的两个很有用的类,BigInteger和 BigDecimal, 这两个类可以处理包含任意程度数字序列的数值。
ggyz
2012-03-11
打赏
举报
回复
用字符串是比较浪费的。一个unicode字符用了16位存储空间,而其实你只需要表达0-9这10个数字而已。用byte数组足够了。当然还可以进一步优化。
京郊-金手指
2012-02-28
打赏
举报
回复
支持这种,其他的数据类型不能满足大数相乘[Quote=引用 1 楼 dracularking 的回复:]
就是用字符串來存儲運算的中間過程,最終達到獲取結果的目的
因為字符串相對於具化類型變量,遠遠不受長度限制的約束
[/Quote]
dracularking
2012-02-27
打赏
举报
回复
就是用字符串來存儲運算的中間過程,最終達到獲取結果的目的
因為字符串相對於具化類型變量,遠遠不受長度限制的約束
大数
运算
大数
相加
大数
相乘
分享一下用C/C++实现的
大数
相加和
大数
相乘
,可以拿来当工具用。
java
大数
相乘
代码
java
实现
大数
相乘
,在不使用BigInteger工具方法的前提下进行
大数
相乘
运算
。
大数
相乘
解决无限位数
相乘
问题
大数
相乘
解决无限位数
相乘
问题
,可以解决工程
问题
中无限复杂数据
相乘
难题
C++
大数
运算
支持浮点
运算
用C++写的
大数
运算
,包含加、减、乘、除,函数名分别为BigAdd,BigMinus,BigMulti,BigDivid
大数
相乘
_
大数
相乘
_python_分治_
二个超出计算机数值类型的计算范围的二个数进行
运算
。用的算法是分治,分治是将大
问题
逐步简化为一个一个的小
问题
,先解决小
问题
,小
问题
解决完成,大
问题
也随之解决
Eclipse
58,452
社区成员
49,460
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章