- 浏览: 409210 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (325)
- 神经网络 (1)
- javascript (11)
- 数据结构 (2)
- 计算机图形学 (11)
- 模式识别 (1)
- 前端开发 (14)
- 机器学习 (11)
- ios开发 (50)
- Python (9)
- HTML5 (4)
- 计算机视觉 (9)
- 数字图像处理 (7)
- 架构设计 (19)
- 数据库设计 (9)
- 算法设计 (59)
- Java (37)
- 其他 (3)
- 游戏开发 (5)
- c++ (17)
- Linux (3)
- TCP/IP (2)
- Flex (41)
- 健康 (6)
- AI (2)
- 工具 (1)
- 数据挖掘 (1)
- 性能优化 (6)
- 综合 (2)
- 网络通信 (12)
- Android (2)
- UML (3)
- 软件设计 (11)
- 编程经验 (7)
- J2EE (1)
- 多媒体技术 (3)
- 数学 (7)
- php (4)
- 设计 (1)
- CS (2)
- 计算机理论 (1)
- 信息安全 (1)
最新评论
-
ahead_zhan:
good good good
flex3控件_ModuleLoader -
lonerzf:
好样的。非常感谢楼主
OpenCV视频教程整理 -
lonerzf:
好样的。谢谢~
OpenCV视频教程整理 -
coding1688:
博主说的不错,我在实现瀑布流布局时也用的masonry插件,有 ...
Javascript 瀑布流式布局及其动态效果的实现 -
snowolf:
除非玩游戏,不然没啥win的事情,或者用win的银行客户端,通 ...
macbook安装操作系统的机理分析
import java.io.BufferedInputStream;
import java.util.Scanner;
public class bigdec {
public static void main(String[] args) {
Scanner cin=new Scanner(new BufferedInputStream(System.in));
String a,b;
a=cin.next();
b=cin.next();
System.out.println(bigMul(a, b));
System.out.println(bigAdd(a, b));
//System.out.println(bigMu(a, 0));
}
public static String bigAdd(String a,String b){
StringBuilder c = new StringBuilder();
String d = "";
int e;
int ad=0;
int al=a.length();
int bl=b.length();
while (al!=0&&bl!=0) {
e=(int)a.charAt(al-1)-48+(int)b.charAt(bl-1)-48+ad;
if(e>=10) {e=e%10;ad=1;}
else ad=0;
c.append(e);
al--;
bl--;
}
if(al>bl){
for (int i = al; i >0; i--) {
e=(int)a.charAt(i-1)-48+ad;
if(e>=10) {e=e%10;ad=1;}
else ad=0;
c.append(e);
}
if(ad==1) c.append(ad);
}
else if(al<bl){
for (int i = bl; i >0; i--) {
e=(int)b.charAt(i-1)-48+ad;
if(e>=10) {e=e%10;ad=1;}
else ad=0;
c.append(e);
}
if(ad==1) c.append(ad);
}
else if (al==bl) {
if(ad==1) c.append(ad);
}
for (int i = c.length()-1; i >=0; i--) {
d+=c.charAt(i);
}
return d;
}
public static String bigMu(String a,int b){
StringBuilder c = new StringBuilder();
String d="";
int e;
int ad=0;
int len=a.length();
for (int i = len-1; i >=0; i--) {
e=((int)a.charAt(i)-48)*b+ad;
ad=e/10;
e=e%10;
c.append(e);
}
if(ad!=0) c.append(ad);
for (int i = c.length()-1; i >=0; i--) {
d+=c.charAt(i);
}
return d;
}
public static String bigMul(String a,String b){
int al=a.length();
int bl=b.length();
String c = "",d;
if(al>=bl){
c=bigMu(a, (int)b.charAt(bl-1)-48);
//System.out.println(c);
for (int i = bl-2; i >=0; i--) {
d=bigMu(a,(int)b.charAt(i)-48);
for (int j = 0; j <bl-i-1; j++) {
d+=0;
//System.out.println(d);
}
c=bigAdd(c, d);
//System.out.println(c);
}
}
if(al<bl){
c=bigMu(b, (int)a.charAt(al-1)-48);
for (int i = al-2; i >=0; i--) {
d=bigMu(b,(int)a.charAt(i)-48);
for (int j = 0; j <al-i-1; j++) {
d+=0;
//System.out.println(d);
}
c=bigAdd(c, d);
//System.out.println(c);
}
}
return c;
}
}
发表评论
-
【转】那些年使用过MapReduce的论文
2014-03-09 15:20 1051MapReduce is a programmi ... -
链表排序多种实现(C++ 实现)
2013-12-14 21:09 49链表排序,C++实现: /** * Defi ... -
4Sum (C++实现)
2013-12-12 19:07 1172Given an array S of n integer ... -
3Sum (C++)
2013-12-12 18:50 135Given ... -
多种加密算法实现(JAVA)
2013-10-24 09:18 1622有短句“Sun Yat-sen University is ... -
【转】基数排序
2013-09-20 22:42 747转自:http://www.cppblog.com/shon ... -
算法练习题
2013-09-09 23:32 01. 给定一个包含1-n的数列,我们通过交换任意两个元素给数 ... -
字符串题目推荐及解题报告
2013-09-08 17:30 1136转自:http://hi.baidu.com/fpkele ... -
循环字符串最小表示
2013-09-07 20:29 1125题目 From POJ : http://poj.or ... -
Valid Palindrome
2013-07-29 10:34 794Given a string, determine if ... -
Surrounded Regions
2013-07-28 20:11 861Given a 2D board containing ' ... -
Construct Binary Tree from Inorder and Postorder Traversal
2013-07-27 21:11 669Given inorder and postorder t ... -
Construct Binary Tree from Preorder and Inorder Traversal
2013-07-27 13:58 723Given preorder and inorder tr ... -
Add Binary
2013-07-23 00:59 838Given two binary strings, ret ... -
Best Time to Buy and Sell Stock I II III(C++实现)
2013-07-20 20:10 766// Best Time to Buy and Sell ... -
Merge Sort (C++ 实现)
2013-07-14 16:01 870// Type your C++ code and cli ... -
Subsets II(C++实现)
2013-07-13 23:16 935Given a collection of inte ... -
subsets(C++实现)
2013-07-13 23:15 793Given a set of distinct integ ... -
Combinations(c++实现)
2013-07-10 16:52 668Given two integers n and k ... -
Combination Sum II(c++实现)
2013-07-10 16:32 705Given a collection of cand ...
相关推荐
大整数相乘算法是计算机科学中用于处理超出标准数据类型范围的大整数乘法问题的一种方法。在大多数编程语言中,如C++,整数类型(如`unsigned long`)都有其最大值限制,一旦超过这个限制,就无法正确表示大整数的...
在实际编程中,有很多现成的大整数库可以使用,例如Java的BigInteger类,Python的内置decimal模块,C++的GMP库等。这些库提供了丰富的接口,可以方便地进行大整数的运算,并且已经优化了性能,避免了重复造轮子的...
这个计算器的独特之处在于它不仅支持基本的加法和乘法,而且特别设计了一个功能,允许用户输入一系列的整数或浮点数,然后进行逐对相乘,最后将所有乘积相加。这在处理涉及多个数值乘积累加的计算场景时非常实用,...
任意正整数都能拆成若干唯一的2的幂指数之和,php版本和js版本都有。
例如,两个正大整数相加时,可能需要进行高位的进位,相乘时可能涉及复杂的长乘算法。 4. **性能考虑**: 虽然正大整数可以处理非常大的数值,但它们的计算速度相对较慢,因为涉及到更多的内存操作和更复杂的逻辑...
BigInteger类的出现解决了 Java 中的整数溢出问题,使得Java程序可以处理非常大的整数。 BigInteger类的方法 BigInteger类提供了多种方法来进行大整数的运算,以下是一些常用的方法: * `add(BigInteger val)`: ...
标题中的"BigInteger_demo.zip"表明这是一个关于Java的大整数处理示例程序的压缩包,其中可能包含一个名为"BigInteger.exe"的应用程序。这个程序很可能是用Java编程语言编写的,利用了Java的BigInteger类来处理大...
4. 除法(/):当两个操作数都是整数时,执行整数除法,如`num1 / num2`,结果为整数部分。如果有一个操作数是浮点数,则执行浮点除法,如`num1.0 / num2`。 5. 取余数(%):返回除法后的余数,例如`num1 % num2`。...
在许多编程语言中,如Python、Java和C++,都有内置的长整数支持。 数据课程设计中的长整数加减部分是基础的算法实现,它是理解计算机如何处理大规模数值运算的关键。在这个项目中,我们主要关注的是如何高效且正确...
当两个大整数相加或相乘的结果超出了长整型的最大值时,就会发生溢出。在某些编程语言中,溢出可能会导致未定义的行为,因此在处理大整数时需要谨慎。 2. **精度损失**:在进行除法运算时,尤其是浮点数与长整型...
1. **加法(Addition)**:`add(int num1, int num2)` 方法将两个正整数相加。这可以通过使用 `+` 运算符直接完成,例如 `return num1 + num2;`。 2. **减法(Subtraction)**:`subtract(int num1, int num2)` ...
Java 提供了整数和浮点数的数据类型,但是没有提供有理数的类型。因此,我们需要定义一个 Rational 类来表示有理分数。 Rational 类的设计 Rational 类是一个特殊的数值类型,表示有理分数。它继承自 Number 类,...
质因数分解是将一个正整数分解为若干个质数相乘的形式。在Java中,可以通过一个循环结构遍历从2到目标数的一半的所有整数,如果目标数能被当前的整数整除,则说明这是一个因数。接着,将目标数除以这个因数,再对...
- **知识点**:将一个正整数分解成若干个质数相乘的形式。 - **实现方法**: - 从小到大依次用2、3、5等质数去除目标数。 - 当目标数不能被当前质数整除时,增加质数的值继续尝试。 - 直到目标数变为1为止,即可...
为了符合财务规定及审计要求,这类单据需要被拆分成若干个限额内的单据进行处理。 #### 二、Java实现超额发票单据拆分的技术要点 1. **参数定义与初始化**:首先明确拆分方法所需参数,并对其进行初始化。 - `Map...
- **定义**:将一个正整数表示为若干个质数相乘的形式。 - **实现思路**: - 从小到大遍历可能的质数k。 - 如果k能够整除n,则k是n的一个质因数。 - 更新n为n/k,继续分解。 - 重复以上步骤直到n等于1。 #### ...
- **整数与浮点数**:当整数与浮点数相加、相减、相乘时,结果是浮点数。整数除以浮点数会自动转换为浮点除法。 - **浮点数与浮点数**:浮点数之间的运算始终产生浮点数结果,类型取决于参与运算的浮点数精度(单...