大数相乘
来源:互联网 发布:网络三大奇书 编辑:程序博客网 时间:2024/05/21 00:56
题目:请使用代码计算1234567891011121314151617181920*2019181716151413121110987654321。
答:
#include "stdafx.h"#include <iostream>#include <string>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ string strOne; string strTwo; cout<<"输入第一个乘数:"; cin>>strOne; cout<<"输入第二个乘数:"; cin>>strTwo; int lengthOne = strOne.size(); int lengthTwo = strTwo.size(); int lengthResult = lengthOne * lengthTwo; int *result = new int[lengthResult]; memset(result, 0, lengthResult * sizeof(int)); int count = 1; int i, j, k; for (i = lengthTwo - 1; i >= 0; i--) { k = lengthResult - count; for (j = lengthOne - 1; j >= 0; j--) { result[k--] += (strTwo[i] - '0') * (strOne[j] - '0'); } count++; } for (i = lengthResult - 1; i > 0; i--) { while(result[i] >= 10) { result[i] -= 10; result[i - 1]++; } } for (i = 0; i < lengthResult; i++) { if (0 != result[i]) { break; } } cout<<strOne<<" * "<<strTwo<<" = "<<endl; for (; i < lengthResult; i++) { cout<<result[i]; } delete [] result; cout<<endl; return 0;}
运行界面如下:
0 0
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- 大数相乘
- linux下使用protobuf实现简单配置功能
- 从github克隆项目以及上传文件到github
- 使用nginx sticky实现基于cookie的负载均衡
- iOS 的几种传值方法
- 腾讯的C++面试真有趣
- 大数相乘
- mysql小记
- sqlite 数据库的实践,事务和升级数据库
- JAVA String类与常量池,堆之间的错综复杂...
- 【CCF】无线网络
- 大数乘法的几种算法分析及比较(2014腾讯南京笔试题)
- 求职之路(2015南京站拿到百度、美团、趋势科技、华为offer)
- 杂感
- Reactivecoco 文档翻译(1) 基本操作方法