2024/4/17

所学时间:2小时

代码行数:100

博客园数:1篇

所学知识:

def kaprekar(num):
    while num != 6174:
        digits = [int(x) for x in str(num)]
        digits.sort()
        asc_num = int(''.join(map(str, digits)))
        digits.sort(reverse=True)
        desc_num = int(''.join(map(str, digits)))
        num = desc_num - asc_num
        print(num, end=' ')

# 读取输入的4位数
num = input("请输入一个任意各位数字不相同的4位数:")
num = int(num)

# 验证6174猜想
print(num, end=' ')
kaprekar(num)
 
def count_ways(n):
    if n == 1:
        return 1
    elif n == 2:
        return 2
    elif n == 3:
        return 4
    else:
        # 初始化台阶数为1、2、3的情况
        a, b, c = 1, 2, 4
        ways = 0
       
        # 从第4个台阶开始计算方法数
        for i in range(4, n+1):
            ways = a + b + c
            a, b, c = b, c, ways
       
        return ways

# 读取输入的楼梯台阶数
n = int(input())

# 计算小朋友上这段楼梯的方法数
ways = count_ways(n)

# 输出结果
print(ways)
 
def lru(page_sequence, n):
    page_frames = []  # 存储主存块页面
    page_faults = 0  # 缺页次数
    page_order = []  # 存储页面的访问顺序
    for page in page_sequence:
        if page not in page_frames:
            page_faults += 1
            if len(page_frames) < n:
                page_frames.append(page)
                page_order.append(page)
            else:
                # 找到最早访问的页面并替换
                replace_page = page_order.pop(0)
                page_frames[page_frames.index(replace_page)] = page
                page_order.append(page)
        else:
            # 更新页面的访问顺序
            page_order.remove(page)
            page_order.append(page)
    return page_faults

# 读取输入的主存块数量和页面访问次序
n = int(input())
page_sequence = list(map(int, input().split()))

# 计算缺页次数
page_faults = lru(page_sequence, n)

# 输出结果
print(page_faults)
 
def f(a, b, c, d, x):
    return a * x**3 + b * x**2 + c * x + d

def f_prime(a, b, c, x):
    return 3 * a * x**2 + 2 * b * x + c

def newton_method(a, b, c, d, x0, tolerance=1e-6, max_iterations=1000):
    x = x0
    for _ in range(max_iterations):
        fx = f(a, b, c, d, x)
        f_prime_x = f_prime(a, b, c, x)
        x_new = x - fx / f_prime_x
        if abs(x_new - x) < tolerance:
            return round(x_new, 2)
        x = x_new
    return None

# 读取输入的方程系数和实数x
a, b, c, d, x = map(float, input().split())

# 使用牛顿迭代法求实根
result = newton_method(a, b, c, d, x)

# 输出实根
print(result)
posted @ 2024-04-17 22:41  为20岁努力  阅读(27)  评论(0编辑  收藏  举报