todo: 验证(1 + 2 + 3 + ... + n)^2 = 1^3 + 2^3 + 3^3 ... + n^3 巧用next(generator)

1.先定义生成器

2.用next(generator)调用生成器,相加,验证

复制代码
# todo: define my_generater and be called by next()

def my_generater(k):
    i = 1
    while True:
        yield i ** k
        i += 1


gen_1 = my_generater(1)
gen_3 = my_generater(3)


# todo: (1 + 2 + 3 + ... + n)^2 = 1^3 + 2^3 + 3^3 ... + n^3
def get_sum(n):
    sum_1, sum_3 = 0, 0
    for i in range(n):
        i_value_1 = next(gen_1)
        i_value_3 = next(gen_3)

        sum_1 += i_value_1
        sum_3 += i_value_3
        print('sum_1 * sum_1 : {}, sum_3: {}'.format(sum_1 * sum_1, sum_3))


get_sum(8)
复制代码

 

posted @   littlevigra  阅读(91)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示