大数相乘
来源:互联网 发布:mac隐藏windows分区 编辑:程序博客网 时间:2024/05/20 22:30
红色笔是代表下标
/*大数相乘问题*/#include<iostream>#include<string>using namespace std;void LargeNumbersOperate(string &, string &);int main(){string str1, str2;while(cin >> str1 >> str2)LargeNumbersOperate(str1, str2);return 0;}void LargeNumbersOperate(string & lOperand, string & rOperand){int x = 0;int i, j;string result(lOperand.size() + rOperand.size(), '0');for ( i = lOperand.size() - 1; i >= 0; i--){for ( j = rOperand.size() - 1; j >= 0; j--){//把上次进的数x加上x = x + (lOperand[i] - '0')*(rOperand[j] - '0');//int p=result[i + j + 1] - '0' + x % 10;x = x / 10;//判断是不是大于10if (p >= 10){result[i + j + 1] = p - 10 + '0';x = x + 1;}else{result[i + j + 1] = p + '0';}}//注意这个位置为什么加1呢?如果没有1,运行就会报错,越界的错,那是因为//for ( j = rOperand.size() - 1; j >= 0; j--)//一个回合后,j已经是-1,所以加1是把j变成0result[i+j+1] = x + '0';x = 0;//一定要是0哦,因为一个i的循环已经结束}//输出结果 i = (result[0] == '0') ? 1 : 0;for (i; i < result.size(); i++)cout << result[i];cout << endl;}
1 0
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 【Little_things】控制台五子棋(java)
- 杭电1106--替换空格
- session的使用
- Java语言使用注解处理器生成代码——第三部分:生成源代码
- uva 1354——Mobile Computing
- 大数相乘
- unity里的几个控件说明
- GitHub
- 安卓软件第一次打开时引导界面以及打开后停留界面
- 9余数定理
- ios开发系列之XML解析和JSON解析数据
- 进程间通信简介(二)——管道
- Codeforces 589D Boulevard 线段相交
- LeetCode 36: Valid Sudoku