社区
Eclipse
帖子详情
关于java大数运算的问题(如大数相乘)
风尘流月
2012-02-27 08:39:57
刚学java的一个菜鸟,想问一下大家在不调用专门的API的前提下,这段程序 要怎么写啊?给点思路,代码不必给了。。
...全文
769
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++中,为了提高代码可读性和可维护性,通常会封装成类或结构体,包含如`add`、`multiply`这样的成员函数,以便于管理和复用
大数
运算
逻辑。 实际开发中,可以利用库如GMP(GNU Multiple Precision Arithmetic ...
java
大数
相乘
代码
java
实现
大数
相乘
,在不使用BigInteger工具方法的前提下进行
大数
相乘
运算
。
大数
相乘
解决无限位数
相乘
问题
在计算机科学领域,
大数
相乘
是处理超过标准整型或浮点型变量所能表示的数值范围时必须面对的
问题
。这种技术广泛应用于金融计算、密码学、物理学模拟、工程
问题
等多个领域,尤其在处理无限位数(即非常大的数字)
相乘
...
C++
大数
运算
支持浮点
运算
8. **性能优化**:为了提高
大数
运算
的效率,可以考虑使用位
运算
、并行计算(如OpenMP)或SIMD(单指令多数据)指令。同时,对于特定类型的
大数
运算
,如平方或立方,可能存在更快的算法。 9. **错误处理**:在实现...
大数
相乘
_
大数
相乘
_python_分治_
虽然Python内置的乘法
运算
可能已经足够快,但对于特定场景,例如在性能受限的设备上或需要优化计算时间的场合,自定义的
大数
相乘
算法如Karatsuba算法可能会提供显著的优势。 总的来说,理解并掌握
大数
相乘
的分治...
Eclipse
58,452
社区成员
49,460
社区内容
发帖
与我相关
我的任务
Eclipse
Java Eclipse
复制链接
扫一扫
分享
社区描述
Java Eclipse
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章