比如,若当前有:
则下次递增之后将有:
在此过程中,共有(最末尾的)三个比特发生翻转。
现在,考查对c连续的足够多次递增操作。纵观这一系列的操作,试证明:
a)每经过2^k次递增,bk恰好翻转一次;
b)对于每次递增操作,就分摊的意义而言,count只有o(1)个比特位发生翻转。
触发器起始均为0态)
图5.26所示为一可变进制计数器,其模数受I4I3I2I1控制.其中,74290已通过将CP1与Q0短接而连成8421BCD码十进制加法计数器的形式,CP0为外部计数输入端,为异步置0端,为异步置9端:CC14585为四位数码比较器,A3A2A1A0、B3B2B1B0为两个比较器的并行数据输入端,为扩展输入端,为比较输出端.
(1)分析I4I3I2I1=0110时,该电路为多少进制计数器,并画出其状态转换图.
(2)简述该可变进制计数器的工作原理.
问题描述:假设有来自n个不同单位的代表参加一次国际会议.铄个单位的代表数分别为ri(i=1,2,...,n).会议餐厅共有m张餐桌,每张餐桌可容纳ci(i=1,2,...,m)个代表就餐.为了使代表们充分交流,希望从同一个单位来的代表不在同一个餐桌就餐.试设计一个算法,给出满足要求的代表就餐方案.
算法设计:对于给定的代表数和餐桌数以及餐桌容量,计算满足要求的代表就餐方案.
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数m和n,m表示餐桌数,n表示单位数(1≤m≤150,1≤n≤270).文件第2行有m个正整数,分别表示每个单位的代表数.文件第3行有n个正整数,分别表示每个餐桌的容量.
结果输出:将代表就餐方案输出到文件output.txt如果问题有解,在文件第1行输出1,否则输出0.接下来的m行给出每个单位代表的就餐桌号.如果有多个满足要求的方案,只要输出一个方案.