装得下和装不下,差别有多大

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

运行下面这段程序,填写它打印出来的结果。

BLK = 4
LINES = 4

def sim(addrs, ways=1):
    sets = LINES // ways
    tags = [[None] * ways for _ in range(sets)]
    order = [[] for _ in range(sets)]
    hit = 0
    miss = 0
    for a in addrs:
        b = a // BLK
        s = b % sets
        if b in tags[s]:
            hit = hit + 1
            order[s].remove(b)
            order[s].append(b)
        else:
            miss = miss + 1
            if None in tags[s]:
                tags[s][tags[s].index(None)] = b
            else:
                old = order[s].pop(0)
                tags[s][tags[s].index(old)] = b
            order[s].append(b)
    return hit, miss

a = sim(list(range(16)) * 2)
b = sim(list(range(32)) * 2)
print(str(a[0]) + "-" + str(a[1]) + "/" + str(b[0]) + "-" + str(b[1]))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论