立方累加和:用递归函数求f(n)=1 3 +2 3 +...+n 3

本文介绍了一个使用 C 语言编写的简单程序,该程序通过递归函数计算整数的立方和。程序首先定义了一个名为 cube 的函数,该函数接受一个整数参数 n,并返回从 1 到 n 的所有整数的立方和。主函数 main 通过循环读取输入并调用 cube 函数,打印出每个整数及其对应的立方和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



#include <stdio.h>
int cube(int n);
int main()
{
    int n;
    while( scanf("%d",&n)!=EOF)
        printf("f(%d)=%d\n",n, cube(n));
    return 0;
}

int cube(int n)
{
    if (n==1)
        return 1;
    else
        return n*n*n+cube(n-1);
}


# ==================== 5. 函数的高级特性 ==================== """ 📚 高级特性: 1. 闭包:函数记住并访问创建环境的能力 2. 递归:函数调用自身 3. 装饰器:增强函数功能而不修改原代码 4. 高阶函数:接收函数作为参数或返回函数 """ # 示例1递归函数 def factorial(n): """计算阶乘(递归实现) 参数: n (int) - 非负整数 返回: int - n的阶乘 """ if n < 0: # 处理负数输入 raise ValueError("阶乘只定义在非负整数") if n == 0: # 基本情况 return 1 return n * factorial(n - 1) # 递归调用 # 测试示例1 print("\n=== 示例1: 递归函数 ===") print("5! =", factorial(5)) # 120 # 示例2:装饰器 def log_execution_time(func): """记录函数执行时间的装饰器""" def wrapper(*args, **kwargs): import time start_time = time.time() # 记录开始时间 result = func(*args, **kwargs) # 调用原始函数 end_time = time.time() # 记录结束时间 elapsed = end_time - start_time # 计算耗时 print(f"{func.__name__} 执行时间: {elapsed:.6f}秒") return result return wrapper @log_execution_time # 应用装饰器 def process_large_data(size): """处理大量数据(模拟耗时操作)""" return sum(range(size)) # 计算累加和 # 测试示例2 print("\n=== 示例2: 装饰器 ===") process_large_data(1000000) # 调用被装饰的函数 # 示例3:高阶函数 def apply_operation(data, operation): """应用操作到数据集的每个元素 参数: data (list) - 数据列表 operation (function) - 要应用的函数 返回: list - 应用操作后的结果列表 """ return [operation(item) for item in data] # 列表推导式应用函数 # 测试示例3 print("\n=== 示例3: 高阶函数 ===") numbers = [1, 2, 3, 4, 5] squared = apply_operation(numbers, lambda x: x ** 2) # 应用平方函数 cubed = apply_operation(numbers, lambda x: x ** 3) # 应用立方函数 print("原始数据:", numbers) print("平方结果:", squared) print("立方结果:", cubed) 这里有个问,第一个问,没有把每个特性都讲清楚,第二问,示例缺少,每一个特性至少两个代码示例,第三个问,每一行都要有注释,按照我的要,重新返回一个py文件
最新发布
08-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值