Noip1998 提高组3 卢斯加法表

著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母代表数字。
例如:
其含义为:
L+L=L, L+K=K, L+V=V, L+E=E
K+L=K, K+K=V, K+V=E, K+E=KL
……
E+E=KV
根据这些规则可推导出: L=0, K=1, V=2, E=3

(图文无关,就这个意思)
同时可以确定该表表示的是 4 进制加法

程序输入:
n( n≤9)表示行数。
以下 n 行,每行包括 n 个字符串,每个字串间用空格隔开。(字串仅有一个为‘+’号,其它都由大写字母组成)


程序输出:

① 各个字母表示什么数,格式如: L=0,K=1, ……
② 加法运算是几进制的。
③ 若不可能组成加法表,则应输出“ERROR!”

 

由于加法表是完整的,所以行数有多少,进制就是 行数-1 ;
在J进制中,设一位数A,一位数x;
统计ans={A+1,A+2,……A+(J-1)}中有多少个一位数;


有一位数,说明A+x-J<0即A<J-x;
故当x最大时,A=J-x-1即为所求


由于加法表是完整的,即x从1至J-1,
故设ans中一位数共有y个,就有x=y;


而J-x-1就是ans中两位数的个数(想一想为什么?)<PS:其实我也不知道,但是实践证明就是这样>
所以找到ans中两位数的个数,就是A的值了;


如果你不幸找到了两个一样的A,不着急,这不怪你,输出ERROR就好。

转载于:https://www.cnblogs.com/CXSheng/p/5169720.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值