- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【黄金投资平台】全世界公认的顶级品牌
【题02】乘法运算
从键盘读入两个109以内的正整数,进行乘法计算并输出
例如,输入格式:89 13
输出格式:
89
× 13
--------
267
89
-------
1157
又如:
输入格式: 16 8
输出格式:
16
× 8
------
128
题解
设被乘数a和乘数b,b的位序号为d (d≥1);当前位的乘积为mul;最后乘积为mu。按照乘法竖式的规则,b的d位数码与a的乘积mul右对齐20-d列后输出在乘式的第d行,并乘上10d-1后累计入mu(如图7.1.1)。
图7.1.1
由于被乘数和乘数的上限为109,因此b,d和js(存储十进制数d位的权10d-1)的数据类型设为longint(longint的有效位数为9位),a,mu和lmu的数据类型设为extended:
{$n+}
var
b,js,d:longint; {b—乘数;d—当前位序号;js—d位的权 }
a,mul,mu:extended; {a—被乘数;mul—b的d位数码与a的乘积;mu—最后乘积}
⑴b的第d位与a的乘积
若乘积mul为b的d位与a的乘积,则mul右对齐20-d列后输出在乘式的第d行(图7.1.2):
图7.1.2
⑵mul右移d-1位后计入乘积mu(mu←mul+mul*10d-1)
⑶算法流程
readln(a,b); {输入被乘数和乘数}
writeln(a:20:0); {输出乘式}
writeln(’*’,b:19);
writeln(’--------------------’);
if b10
then writeln(a*b:20:0)
else begin
d←1;mu←0;js←1; { 位序号、乘积和d位的权初始化}
repeat
mul←a*(b mod 10); {计算当前位的乘积}
b←b div 10; {略去b的当前位}
write(mul:20-d:0); {输出当前位的乘积}
mu←mu+mul*js; {当前位的乘积再乘上权10d-1后累计入mu}
js←js*10; {计算下一位的权}
d←d+1; {指向b的下一位}
until b=0; {直至b的所有位乘完为止}
writeln(’--------------------’);writeln(mu:20:0); {输出最后乘积}
end;{else}
您可能关注的文档
最近下载
- 2025年扬州工业职业技术学院单招语文测试模拟题库最新.docx VIP
- 部编高教版2023·职业模块 中职语文 口语交际《讲解》.pptx
- 2025年苏州工业职业技术学院单招职业技能测试题库最新.docx VIP
- 最后一个克林索尔克林索尔.PDF VIP
- 产业小镇案例:华夏幸福大厂影视小镇.pptx
- 2025年苏州经贸职业技术学院单招职业适应性测试题库最新.docx VIP
- 2024年安徽省阜阳市《保安员证》考试题库含答案通用完整版.pdf
- 2025年苏州经贸职业技术学院单招(语文)测试模拟题库最新.docx VIP
- 2025年苏州信息职业技术学院单招(语文)测试模拟题库最新.docx VIP
- 网格员考试公共基础知识题库.pdf
文档评论(0)