RQNOJ143 题解 、、

来源:互联网 发布:证大财富 淘宝达人贷 编辑:程序博客网 时间:2024/05/29 16:24

题目:巨型整数
问题编号:143
题目背景:
Aliya姐姐是众所周知的数学大牛,可是有一天她却被一位超级简单的小学数学题给难住了,恰好她碰到了正在OI路上奋斗的您,她相信聪明的您一定能够做出来..>_<{有奖励的哟}
题目描述:
给定一个任意整数,请您对它作出如下处理,从第1位开始到最后一位,对于第n位的数字将它转化为an*10^l+1-n(l为该数的最大位数)然后将他们累加在一起得到一个新的整数,再请您求出各个位数上的和。{够简单吧~~~}
输入格式
一个任意整数n.对于20%的数据n<=9*10^9对于40%的数据
n<=9*10^200,对于60%的数据n<=9*10^2000,对于100%的数据
n<=9*10^20000
输出格式
输出文件为两行,第一行为处理后得到的新的整数,第二行为所求得的各个位数上的和。
样例输入 2516

样例输出
6152
14

看到这道题,以为很难,结果把样例一看完。发现 哎 滚滚长江都是水啊~

怎么说呢 这道题就是让你把一个很长的数字 到过来输出一遍 再把每个数位上的数字相加,注意去掉前导零就是了~

贴一下代码:

Type int=longint;Var s:ansistring;l,ans:int;Begin       Readln(s);       L:=length(s);       While(s[l]=’0’)dodec(l);       While(l>0)do       Begin              Write(s[l]);              Inc(ans,ord(s[l])-48);              Dec(l);End;Writeln();Writeln(ans);End;

Ps:由于第一次没有开ansistring 导致wa掉一次,,为什么每次都要失误一次。。呜呜~

0 0
原创粉丝点击