加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

HLG 1624 ikki的卡片(20进制大数)

发布时间:2020-12-14 03:42:03 所属栏目:大数据 来源:网络整理
导读:链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSeta=showProblemproblem_id=1624 描述: ikki有一沓标有大写英文字母的卡片,但是奇怪的是里面只有标从’A’-‘T’的卡片,ikki用这20种卡片 设计了一个 小游戏:用’A’-‘T’分别表示数字 0 – 19,ik

链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1624

描述:

ikki有一沓标有大写英文字母的卡片,但是奇怪的是里面只有标从’A’-‘T’的卡片,ikki用这20种卡片设计了一个

小游戏:用’A’-‘T’分别表示数字 0 – 19,ikki把这些卡片表示的字母看成是20进制数,并用卡片拼成了两个

字,现在ikki想让你用卡片表示出这两个数字相加之后的结果(卡片数量不限)。例如:拼成两个20进制数

分别是AAAADH,BCE?可以这样得到结果:

a = 0 * 20^5+0* 20^4+ 0* 20^3+ 0 *20^2 + 3*20 + 7 = 67
b = 1*20^2 + 2*20 + 4 = 444
a + b = 511 = BFL

多组测试数据。

每组测试数据输入两个只包含大写字母’A’-‘T’的字符串,表示两个20进制数,字符串长度均小于200。

对于每组测试数据输出一个用卡片表示的两个20进制数的和,每组输出占一行。
Input:

AAA C

AAADH BCE

Output:

C

BFL


好久都没有敲大数加法的代码了,生疏了超多,做这道题的时候错误真不是一般的多,而且检查的难度不是一般的高,建议广大计算机小童鞋,这种大数的代码没事敲多几次,这样在临时要的时候不至于拿着那种烂模板照着敲,要不然到时真不知道哪里出错了,改又不知道怎么改,这才是最让人头疼的、、、

测试数据了N次,,终于过了,,一开始是T B的时候测不到,然后以为对了,没想到还是错了,

这里再提示几组测试数据吧,AAAA ?AA --> A ? ?TT B --> BAA ? T B --> BA


看一下我写的猥琐代码吧,别吐口水哈各位靓仔靓女,别弄脏自己的电脑:

#include <iostream> <cstdio> <cstring> <cstdlib> #define MAXN 256 #define RST(N)memset, 0 sizeof)) using namespace std; char str1[MAXN], str2 ans]; int a b d topvoid ADD([],136)">int b[]) { int cnt = forint i=; i<MAXN++) int temp = d[i]+a]+b]; //d存储最后的结果,各位大神肯定看得懂; d] = temp%20;  if(temp >= ) d+1]++; //进位,这个函数修改的最多,真是有点浪费青春; } } int main() while(~scanf("%s %s" str1)) { RST(ans), RST(a(b(d); int L1 = strlen(str1 L2 (str2int k1  k2 =L1->=--) a[k1++] = int)str1- 'A'; //换成数字存储; =L2--) b[k2)str2; ADD);  int flag ; //标记输出; =MAXN--) (flag) { printf"%c" char)(d]+)); continue; }else ]) )); flag (flag == ) puts"A"); //0+0的情况,也就是全是A相加的情况; puts""); //换行 return }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读