Multiply Strings
来源:互联网 发布:vscode 字体颜色 编辑:程序博客网 时间:2024/05/17 01:10
Given two numbers represented as strings, return multiplication of the numbers as a string.
Note: The numbers can be arbitrarily large and are non-negative.
char* multiply(char* num1, char* num2) {
//获取字符串的长度int len1 = strlen(num1);int len2 = strlen(num2);//将字符串反转for (int i =0; i < len1/2; i++){ char temp = num1[i]; num1[i] = num1[len1-1-i]; num1[len1-1-i] = temp;}for (int i =0; i < len2/2; i++){ char temp = num2[i]; num2[i] = num2[len2-1-i]; num2[len2-1-i] = temp;}//申请整型数组int* num = (int*)malloc(sizeof(int)*(len1+len2));for (int i = 0; i < len1+len2; i++) num[i] = 0;//计算整型数组的值for (int i = 0; i < len1; i++){ int temp1 = num1[i] - '0'; for (int j = 0; j < len2; j++) { int temp2 = num2[j] - '0'; num[i+j] += temp1*temp2; }}//计算整型数组对应的值int flags = 0;for (int i = 0; i < len1+len2; i++){ int temp = num[i]+flags; num[i] = temp%10; flags = temp/10;}//计算乘积字符串的长度,应该考虑值为0的情况int len = len1+len2;while (num[len-1] == 0 && len > 1) len--;//将整型数组的值赋到字符串char* str = (char*)malloc(sizeof(char)*(len+1));for(int i = 0; i < len+1; i++) str[i] = num[len-1-i]+'0';str[len] = '\0';free(num);return str;
}
0 0
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- Multiply Strings
- jquery处理html格式的数据
- android 获取系统时间
- nginx利用fastcgi_cache模块缓存
- Fiddler抓取HTTPs流量
- 图片水印实现
- Multiply Strings
- Android使用ValueAnimator实现双击事件的判断
- Nginx配置文件详细说明
- 为什么要使用SLF4J而不是Log4J
- RTP协议分析
- iOS 图片处理(截图,图片叠加(添加水印))
- 小马哥--高仿苹果6 主板型号S106刷机 拆机主板图与开机界面图 多图展示
- Spring学习(一)
- java文件下载