NOIP复习-003——高精
2015-11-01 16:43
204 查看
NUM.ONE——高精乘
NUM.TWO——高精加
var a,b,c:array[1..100]of longint; s,s1,s2:ansistring; i,j,k,l,m,n:longint; begin readln(s1); readln(s2); if length(s1)<length(s2) then begin s:=s1;s1:=s2;s2:=s; end; n:=0; for i:=length(s1) downto 1 do begin inc(n); a :=ord(s1[i])-ord('0'); end; n:=0; for i:=length(s2) downto 1 do begin inc(n); b :=ord(s2[i])-ord('0'); end; fillchar(c,sizeof(c),0); for i:=1 to length(s2) do begin for j:=1 to length(s1) do begin c[i+j-1]:=c[i+j-1]+a[j]*b[i]; end; end; n:=0; repeat inc(n); if c >9 then begin k:=c div 10; c :=c mod 10; c[n+1]:=c[n+1]+k; end; k:=0; until (n>length(s1)+length(s2)); while c =0 do dec(n); for i:=n downto 2 do write(c[i]); writeln(c[1]); end.
NUM.TWO——高精加
var a,b,c:array[1..100]of longint; i,j,k,l,m,n,t:longint; s1,s2,s:ansistring; begin readln(s1); readln(s2); fillchar(c,sizeof(c),0); if length(s1)<length(s2) then begin s:=s1; s1:=s2; s2:=s; end; n:=0; for i:=length(s1) downto 1 do begin inc(n); a :=ord(s1[i])-ord('0'); end; n:=0; for i:=length(s2) downto 1 do begin inc(n); b :=ord(s2[i])-ord('0'); end; k:=0; for i:=1 to length(s1) do begin c[i]:=c[i]+a[i]+b[i]; if c[i]>=10 then begin t:=c[i]; c[i]:=t mod 10; k:=t div 10; end; c[i+1]:=k; k:=0; end; i:=length(s1)+1; while c[i]=0 do dec(i); for j:=i downto 2 do write(c[j]); writeln(c[1]); end.
相关文章推荐
- Xcode升级之后,libWeiboSDK.a(WBSDKNormalWebViewController.o)' does not contain bitcode. You must rebuild
- 提高Axure设计效率的10条建议 (转)
- Selenium2自动化测试实战序言
- Design TabLayout+ViewPager+Fragment,选中请求数据+缓存
- 2015南阳ccpc L题
- mybatis hellworld
- 比较好的GIS博客
- iOS 使用Charles(青花瓷)抓包并篡改返回数据图文详解
- 添加现有项到当前项目的几点注意事项
- POJ2001 Shortest Prefixes(字典树)
- 手机软件Toast无法显示提示信息
- iOS 自动计算 高度
- JavaScript作用域问题:预解析、全局与局部作用域解析、作用域链
- for循环打印图形-菱形
- Leetcode Pasacl'sTriangle
- CSS在不同浏览器兼容问题,margin偏移/offset溢出等
- ios 方法 HTML数据中去除 标签
- 杭电2803The MAX
- spring的Bean注入和P标签使用
- Scala第一章学习笔记