- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高精度运算 数据类型的转换 type numtype= array[1..500]of word; { 整数数组类型} var a,b:numtype; {a和b为整数数组} la,lb:integer;{整数数组a的长度和b的长度} s:string; {输入数串} 将数串s转化为整数数组a的方法如下: k←length(s); for i←1 to k do a[k-i+1]←ord(s[i])-ord(‘0’); 加法运算c←a+b(a、b、c为numtype类型) var a,b,c:array[1..201] of 0..9; n:string; lena,lenb,lenc,i,x:integer; begin write(Input augend:); readln(n); lena:=length(n); {加数放入a数组} for i:=1 to lena do a[lena-i+1]:=ord(n[i])-ord(0); write(Input addend:); readln(n); lenb:=length(n); {被加数放入b数组} for i:=1 to lenb do b[lenb-i+1]:=ord(n[i])-ord(0); i:=1; while (i=lena) or(i=lenb) do begin x := a[i] + b[i] + x div 10; {两数相加,然后加前次进位} c[i] := x mod 10; {保存第i位的值} i := i + 1 end; if x=10 {处理最高进位} then begin lenc:=i; c[i]:=1 end else lenc:=i-1; for i:=lenc downto 1 do write(c[i]); writeln {输出结果} end. 求回文数 若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个10进制数56,将56加65(即把56从右向左读),得到的121是一个回文数。又如,对于10进制数87: STEP1:87+78=165 STEP2:165+561=726 STEP3:726+627=1353 STEP4:1353+3531=4884 在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。 写一个程序,给定一个N(2≤N≤10,N=16)进制数m,m的位数上限为20。求最少经过几步可以得到回文数。如果在30步以内(包括30步)不可能得到回文数,则输出“impossible” 样例: INPUT OUTPUT N=9 m=87 STEP=6 1.将数串s转化为整数数组m 设数串s=s1‥sp,串长为p。其中si为第p-i+1位n进制数(1≤i≤p)。我们将s转化为整数数组m=m[p]‥m[1],其中m[i]对应第i位n进制数。 type mtype=array[1..100]of integer; var m:mtype; 按下述方法将s转化为整数数组m: p←length(s);{计算s的串长} for i←1 to p do {从最高位开始计算整数数组m } begin k←p-i+1;{计算si对应于的m数组下标} case s[i] of{转换si} ’a’..’f’:m[k]←10+ord(s[i])-ord(’a’); ’0’..’9’:m[k]←ord(s[i])-ord(’0’); else 输出错误信息并退出程序; end;{case} end;{for} 2.判别整数数组m是否为回文数 function check (m: mtype) :boolean;{若整数数组m为回文数,则返回true,否则返回false} var i:integer; begin check←false; for i←1to do if m[i] ≠m[p-i+1] then exit;{返
您可能关注的文档
最近下载
- 机械制图习题集(第7版)钱可强课后习题答案.pdf
- 学堂在线网课《生活英语读写》课后作业单元考核答案.docx VIP
- CCES 02-2004 自密实混凝土设计与施工指南.pdf VIP
- 儿童闭塞性细支气管炎的诊断和治疗专家共识2023.pptx
- 学堂在线 中国共产党与中华民族伟大复兴 期末考试答案.docx VIP
- 2020年第三单元 百年追梦 复兴中华.ppt VIP
- 小学法制安全教育课件.ppt VIP
- 《芣苢》《插秧歌》课件.pptx VIP
- 《C语言程序设计教程》PPT完整全套教学课件.pptx VIP
- 初中地理八上3中国的自然资源优质课金奖课件市公开课一等奖课件名师大赛获奖课件.pptx VIP
文档评论(0)