"""补充练习:理解算法的输入、确定步骤、有限性和输出。 输入非负整数 n;分别用循环算法和公式算法计算 1+...+n,并比较结果与操作次数。 学习说明: - 输入是 n,输出是从 1 到 n 的整数和;n=0 时总和为 0。 - 循环算法的步骤明确,每次累加一个数;循环次数有限,为 n 次。 - 公式算法使用 n*(n+1)//2,运算步骤数不随 n 增长。 - 两种算法计算同一结果,比较它们可以帮助理解算法设计和效率。 """ n = int(input()) if n < 0: raise ValueError("n 必须为非负整数") # 循环算法:步骤明确,每次将下一个整数加入总和,执行有限次。 loop_total = 0 for value in range(1, n + 1): loop_total += value # 公式算法:使用等差数列求和公式,常数次算术运算得到结果。 formula_total = n * (n + 1) // 2 print("loop result and additions:", loop_total, n) print("formula result:", formula_total) print("results match:", loop_total == formula_total)