输入两个很大的正数(用C字符串表示),输出他们的乘积,将设不考虑非法输入。
#include<iostream>
#include<cassert>
void multiply(const char *a,const char *b)
{
assert(a!=NULL && b!=NULL);
int i,j,ca,cb,*s;
ca=strlen(a);
cb=strlen(b);
s=(int *)malloc(sizeof(int)*(ca+cb)); //分配存储空间
for(i=;i<ca+cb;i++)
s[i]=; //每个元素赋初值为0 for(i=;i<ca;i++)
for(j=;j<cb;j++)
s[i+j+]+=(a[i]-'')*(b[j]-''); //两个嵌套的for循环,将字符串中的数字通过-‘0’
for(i=ca+cb-;i>=;i--) //转换为十进制数字
if(s[i]>=)
{
s[i-]+=s[i]/;
s[i]%=;
}
char *c=(char *)malloc((ca+cb)*sizeof(char));
i=;
while(s[i]==)
i++;
for(j=;i<ca+cb;i++,j++) //将十进制数字转换为字符,存储到字符数组中
c[j]=s[i]+'';
c[j]='\0';
for(i=;i<ca+cb;i++)
std::cout<<c[i];
std::cout<<std::endl;
free(s);
free(c);
} int main()
{
const char *strnum1="";
const char *strnum2="";
multiply(strnum1,strnum2);
return ;
}
输入两个很大的正数(用C字符串表示),输出他们的乘积,将设不考虑非法输入。的更多相关文章
- C++如何输入单行和多行带空格的字符串并将字符串倒序输出
首先,我们知道在C++中,空格或者回车被认为是字符串的分割标志,使用cin输入string类的字符串时遇到会自动停止接收输入 例如,当如下程序时: #include <bits/stdc++.h ...
- 两道很好的dp题目【4.29考试】
A 问题描述: 对于一个排列,考虑相邻的两个元素,如果后面一个比前面一个大,表示这个位置是上升的,用I表示,反之这个位置是下降的,用D表示.如排列3,1,2,7,4,6,5可以表示为DIIDID. 现 ...
- IoC是一个很大的概念,可以用不同的方式实现。其主要形式有两种:
IoC是一个很大的概念,可以用不同的方式实现.其主要形式有两种: ◇依赖查找:容器提供回调接口和上下文条件给组件.EJB和ApacheAvalon都使用这种方式.这样一来,组件就必须使用容器提供的AP ...
- 两篇很好的EPG相关文章
两篇很好的EPG相关文章 原文地址:http://blog.sina.com.cn/s/blog_53220cef0100pi8j.html 1 基于DVB-SI的数字有线电视机顶盒节目指南的设计实现 ...
- Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数
Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听密码输入框的输入内容类型,不可以输入中文 TextWatcher mTextWatcher = new Tex ...
- 【编程题目】输入两个整数 n 和 m,从数列 1,2,3.......n 中 随意取几个数, 使其和等于 m ... ★
第 21 题(数组)2010 年中兴面试题编程求解:输入两个整数 n 和 m,从数列 1,2,3.......n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来. 我的思路: 从小 ...
- mysql5.6启动占用内存很大的解决方法
vps的内存为512M,安装好nginx,php等启动起来,mysql死活启动不起来看了日志只看到对应pid被结束了,后跟踪看发现是内存不足被killed; 调整my.cnf 参数,重新配置(系统默认 ...
- Slave延迟很大的优化方法总结(MySQL优化)
[http://www.cstor.cn/textdetail_9146.html] 一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在m ...
- [MySQL优化案例]系列 — slave延迟很大优化方法
备注:插图来自网络搜索,如果觉得不当还请及时告知 :) 一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在master上是并发模式(以In ...
随机推荐
- django 不能访问静态资源的解决办法
最近在中文win10下使用python的django搭建web测试服务器,发现一个诡异的现象,正常配置好django的模型,视图和模板, 1.setting.py内容如下: ""& ...
- PocketMoney
PocketMoney( Money.pas/cpp/c)Description学校为了表彰tsoi的优异成绩, m个领导每人都决定给tsoi的一些人发一些小红包.于是n个Tsoier排成一排,等待着 ...
- Parted 手册
https://www.gnu.org/software/parted/manual/parted.html#Using-Parted
- luoguP3175 [HAOI2015]按位或 min-max容斥 + 高维前缀和
考虑min-max容斥 \(E[max(S)] = \sum \limits_{T \subset S} min(T)\) \(min(T)\)是可以被表示出来 即所有与\(T\)有交集的数的概率的和 ...
- android 项目上传SVN不需要上传的文件
bin,gen 不用提交 因为这两个文件夹是自动生成的.如果提交可能会产生编译异常..settings也是自动生成,也不用提交.
- GIT(7)----强制用远程代码覆盖本地修改
清除本地修改 git reset --hard 拉代码 git pull Git Pull While Ignoring Local Changes? git pull 并强制覆盖本地修改
- springmvc.xml 上传文件的配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.Comm ...
- 在Asp.net core返回PushStream
最近用asp.net core webapi实现了一个实时视频流的推送功能,在Asp.net中,这个是通过PushStreamContent来实现的. 基于对asp.net core的知识,随手写了一 ...
- ARM Cortex Design Considerations for Debug
JTAG was the traditional mechanism for debug connections for ARM7/9 parts, but with the Cortex-M fam ...
- Bitbox : a small open, DIY 32 bit VGA console
Bitbox : a small open, DIY 32 bit VGA console Hi all, I've been developing a simple DIY console and ...