1、OI中的初等数论入门芜湖 汪从文进位计数制v进制表示表示 b进制下的 n位数。 vb进制向十进制转换: 乘以基数并展开:v十进制向 b进制转换: 整数部分除以基数并倒取余数。 小数部分乘以基数,并顺取整数部分。v一个天平,砝码分别为 1g、 3g、 9g、27g、 6561g , 每个砝码只有一个,要称重的物品放在天平的左侧,而砝码允许放在天平的左右两侧。已知一个物品的质量 N, 问如何称重?v数据规模: N108天平 Iv分析: 就是将 N转换成三进制后,将三进制中的0、 1、 2三个状态转换成 0、 1 、 -1 ,具体的说,就是 0和 1不变, 2变成 -1后,其高一位加 1。v 一个天
2、平,砝码分别为 1g、 3g、 9g、 27g、 6561g , 每个砝码只有一个,要称重的物品放在天平的左侧,而砝码只允许放在天平的右侧。将由这个系统可以称出来的重量按从小到大的顺序进行排列,得到下列序列: 1,3,4,9,10,.。问其中的第 K个重量是多少?v 数据规模: K105天平 IIv分析: 这就是 NOIP2006PJ 序列 中 p=3时的简化版 将 K转换成二进制并按三 (p=3)进制展开。v一天, CC买了 N个容量可以认为是无限大的瓶子,开始时每个瓶子里有 1升水。接着CC他决定保留不超过 K个瓶子。每次他选择两个当前含水量相同的瓶子,合并并丢弃一个空瓶(不能丢弃有水的瓶子)。显然在某些情况下 CC无法达到目标。此时 CC会重新买一些新的瓶子(新瓶子容量无限,开始时有 1升水),以达到目标。问最少需要买多少新瓶子才能达到目标呢?v数据规模: N109,K1000倒水v分析: 根据题意,保留的瓶子的水容量一定为 2的方幂,就是求 N的二进制形式中,从高位到低位保留 K位 1,所需要补充的最小差值。 例如 N=27=(11011)2,k=3时数字分离及回文数 v数字分离 用于统计整数数码、位数、逆序等 while (n0) / n%10 就是 n的每一位数字 n/=10;