欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    大整数的乘法实习报告(共11页).doc

    • 资源ID:17326818       资源大小:78KB        全文页数:11页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    大整数的乘法实习报告(共11页).doc

    精选优质文档-倾情为你奉上湖南涉外经济学院 计算机科学与技术专业算法设计与分析课程 大整数乘法问题 实 验 报 告班级: 学号: 姓名: 教师: 成绩: 2012年5月【实验目的】1 掌握设计有效算法的分治策略2 利用软件的方法来实现大整数的算术运算【系统环境】Windows 7 平台【实验工具】VC+6.0英文企业版【问题描述】 描述: 由于现在的许多方面需要在计算结果中要求精确地得到所有位数上的数字,就必须用软件的方法来实现大整数的运算。其中一般都通过数组来实现。例: 5464 *1231 其结果是:【实验原理】1 、开始时的思路:1>.弄2个string类型的变量来获取乘数a与被乘数b2>.需要用到string类型的变量时再调用转换函数3>.再定义个2维数组来装a*b的积、定义个d数组装最终结果4>.写一个乘法和加法函数用来实现上述功能 2 、例子:【源程序代码】#include<iostream>#include<string>using namespace std;void MUL_max(string a,int la,string b,int lb,int *c);/相乘函数void ADD_max(int * d,int *c,int la,int lb);/相加函数char * ZhuanH(string);void main()string a;string b;int *c=NULL;int *d=NULL;int la=0,lb=0;int i=0,j=0,k=0;cout<<" *大整数乘法*"<<endl;cout<<"请输入乘数:"cin>>a;cout<<"请输入被乘数:"cin>>b;la=a.length();lb=b.length();/分配2维C数组,存储数组a和b的乘积c=new int*la; for(k=0;k<la;k+)ck=new intlb+1;/分配数组d用于存储最终结果d=new intla+lb+1;for(i=0;i<la+lb+1;i+)/初始化,便于后面判断相加后的有效位数di=0;/初始化数组C,便于后面判断相加后的有效位数for(i=0;i<la;i+)for(j=0;j<=lb;j+)cij=0;/调用函数MUL_max(a,la,b,lb,c);ADD_max(d,c,la,lb);k=0;cout<<a<<"和"<<b<<"相乘结果是:"<<endl;for(i=0;i<=la+lb;i+)if(di=0)k+;elsebreak;for(i=k;i<=la+lb;i+)cout<<di;cout<<endl; /释放空间for(int n=0;n<lb;n+)delete cn;deletela c;delete d;void MUL_max(string a,int la,string b,int lb,int *c)int mid=0,i=0,j=0;int k=0;int num_a=0,num_b=0;char *char_a=NULL,*char_b=NULL;char_a=ZhuanH(a);/将String转化为charchar_b=ZhuanH(b);/开始循环相乘la*lb次for(i=la-1;i>=0;i-)for(j=lb-1;j>=0;j-)num_a=ai-48; num_b=bj-48;if(k=num_a*num_b)>=10)/判断乘积是否有进位if(mid!=0)/判断前一次相乘是否有进位cij+1=k%10+mid;elsecij+1=k%10;mid=k/10;else/没有进位if(mid!=0)/判断前一次相乘是否有进位cij+1=k+mid;elsecij+1=k;mid=0;if(mid!=0)ci0=k/10;/如果乘数个位和被乘数相乘,最后有进位/数组相加函数void ADD_max(int *d,int *c,int la,int lb)int i=0,j=0;int mid=0;int num_a=0,num_b=0;int add=0,midnum=0;/将相乘得到的二维数组C各行错位相加,得到一位数组dfor(i=la-1;i>=0;i-)for(j=lb;j>=0;j-)num_a=di+j+1;num_b=cij;add=num_a+num_b;if(add>=10)/判断相加是否有进位if(midnum=1)di+j+1=add%10+1;elsedi+j+1=add%10;midnum=1;elsedi+j+1=add;midnum=0;if(midnum=1)d0=add/10;/转化函数char * ZhuanH(string src)char *dst=new char255;int i;for(i=0;i<=src.length();i+)dsti=srci;dsti='0'return dst;【实验结果】测试1:测试2:测试3:专心-专注-专业

    注意事项

    本文(大整数的乘法实习报告(共11页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开