H2330819027


私信TA

用户名:dotcpp0701405

访问量:9765

签 名:

指向函数指针数组的指针int(*(*p[4]))(int int)

等  级
排  名 125
经  验 7638
参赛次数 1
文章发表 79
年  龄 18
在职情况 学生
学  校 Hzu university
专  业 软件工程

  自我简介:

问题1:m 个连续奇数之和的形式输出


这题还是比较明显的,可以看到从第一个奇数开始,后面的奇数就只是简单的每次加个2而已。加几个2就是m的事了。可以说已经解决了一个问题。那么现在关键问题就是如何找到这个‘初始值’。


问题2:初始值的寻找

1beb714053c6484796d08076f3547546.png

有关这个初始值的寻找,start = n * n - n + 1:这是起始奇数,它是m个连续奇数序列中的第一个奇数。


#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n); // 从标准输入中读取一个整数n

    long long cube = (long long)n * n * n; // 计算n的立方,使用long long来存储以防止溢出
    printf("%d*%d*%d=%lld=", n, n, n, cube); // 打印n的立方的表达式

    int start = n * n - n + 1; // 计算起始奇数,用于分解n的立方
    int ret = 0; // 用于计算奇数序列的和

    for (int i = start; i <= cube; i += 2) { // 从起始奇数开始遍历到n的立方
        ret += i; // 累加当前奇数到和中

        if (ret != cube) { // 如果和不等于n的立方
            printf("%d+", i); // 打印当前奇数并加上一个加号
        } else { // 如果和等于n的立方
            printf("%d", i); // 打印当前奇数但不加加号
            break; // 跳出循环
        }
    }

    return 0; // 返回0表示程序成功执行
}


 

0.0分

8 人评分

  评论区