zoukankan      html  css  js  c++  java
  • 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就好。

  • 相关阅读:
    Log4j,Log4j2,logback,slf4j日志学习(转)
    MultipartFile类
    @Transactional(转)
    redis序列化和反序列化
    redis常见问题(转)
    为什么说Redis是单线程的以及Redis为什么这么快!(转)
    Numpy 用法小结
    正则表达式使用小结
    Hive 窗口函数、分析函数
    Hive UDF开发实例学习
  • 原文地址:https://www.cnblogs.com/CXSheng/p/5169720.html
Copyright © 2011-2022 走看看