【杭电2007】平方和与立方和

本文介绍了一个使用C语言实现的简单算法,该算法通过两次遍历来计算指定范围内偶数的平方和及奇数的立方和。代码适用于解决特定数学问题,并展示了基本的条件判断和循环结构。

这里写图片描述

两次遍历求和就行了

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<algorithm>
using namespace std;
int main() {
    int m,n;
    while(scanf("%d %d",&m,&n)!=EOF)
    {
        int i,j=0,k=0;
        if(m<=n)
        for(i=m;i<=n;i++)
        {
            if(i%2==0)
            j=j+i*i;
            else if(i%2!=0)
            k=k+i*i*i;
        }
        else
        for(i=n;i<=m;i++)
        {
            if(i%2==0)
            j=j+i*i;
            else if(i%2!=0)
            k=k+i*i*i;
        }
        printf("%d %d\n",j,k);
    }
    return 0;
}

http://acm.hdu.edu.cn/showproblem.php?pid=2007

<think>首先,用户的问题是关于“平方和立方”。用户意图是原始查询,所以我需要理解用户想知道什么。通常,“平方和”指的是前n个自然数的平方和,比如1^2 + 2^2 + ... + n^2,而“立方”指的是1^3 + 2^3 + ... + n^3。用户可能想了解这些的公式或如何计算它们。 我的任务是调用网络搜索工具来检索相关信息。假设我可以通过网络搜索获取公式解释。 关键公式: - 平方和公式:$S_2(n) = \sum_{k=1}^n k^2 = \frac{n(n+1)(2n+1)}{6}$ - 立方公式:$S_3(n) = \sum_{k=1}^n k^3 = \left( \frac{n(n+1)}{2} \right)^2$ 我需要将这些信息整合成一个详细且清晰的回答。回答必须结构化,避免使用第一人称、步骤词汇如“首先”、“然后”。应该组织为多个方法或步骤,每个步骤间换行。 回答结构: 1. 解释平方和公式,包括公式本身一个例子。 2. 解释立方公式,包括公式本身一个例子。 3. 可能提供一些推导或应用,但保持简洁。 由于用户没有指定n,我应该使用一个通用的例子,比如n=5。 对于代码公式格式: - 行内公式用$...$,独立公式用$$...$$。 - 如果包含代码,用三个反引号指定语言类型。 在这个案例中,可能不需要代码,但为了实用性,我可以添加一个简单的Python代码片段来计算平方和立方。 回答后,必须添加“§§相关问题§§:”部分,列出至少3个相关问题,基于原始问题回答。 相关问题示例: 1. 如何推导平方和公式? 2. 立方公式的证明方法有哪些? 3. 平方和立方在数学中的应用是什么? 现在,构建回答内容。 回答大纲: - 介绍:简述平方和立方是什么。 - 平方和:给出公式,解释,例子。 - 立方:给出公式,解释,例子。 - 可选:代码示例(Python)。 确保每个部分换行分开。 完整回答: 平方和公式: $$S_2(n) = \sum_{k=1}^n k^2 = \frac{n(n+1)(2n+1)}{6}$$ 例如,当n=5时,计算1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 1 + 4 + 9 + 16 + 25 = 55,使用公式:\frac{5 \times 6 \times 11}{6} = \frac{330}{6} = 55。 立方公式: $$S_3(n) = \sum_{k=1}^n k^3 = \left( \frac{n(n+1)}{2} \right)^2$$ 例如,n=5时,计算1^3 + 2^3 + 3^3 + 4^3 + 5^3 = 1 + 8 + 27 + 64 + 125 = 225,使用公式:\left( \frac{5 \times 6}{2} \right)^2 = 15^2 = 225。 代码示例(Python): ```python def sum_of_squares(n): return n*(n+1)*(2*n+1)//6 def sum_of_cubes(n): return (n*(n+1)//2)**2 # 示例:n=5 n = 5 print("平方和:", sum_of_squares(n)) # 输出 55 print("立方:", sum_of_cubes(n)) # 输出 225 ``` 相关问题: §§相关问题§§: 1. 平方和公式的推导过程是什么? 2. 立方公式如何证明? 3. 平方和立方在统计学或物理中有何应用? 确保回答中没有第一人称,避免步骤词汇。 </think> 平方和指前$n$个自然数的平方之,即$\sum_{k=1}^n k^2$ 公式为: $$S_2(n) = \frac{n(n+1)(2n+1)}{6}$$ 示例:当$n=5$时,$1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55$;代入公式得$\frac{5 \times 6 \times 11}{6} = 55$ 立方指前$n$个自然数的立方,即$\sum_{k=1}^n k^3$ 公式为: $$S_3(n) = \left( \frac{n(n+1)}{2} \right)^2$$ 示例:当$n=5$时,$1^3 + 2^3 + 3^3 + 4^3 + 5^3 = 225$;代入公式得$\left( \frac{5 \times 6}{2} \right)^2 = 15^2 = 225$ 计算平方和立方的Python代码: ```python def sum_of_squares(n): return n * (n + 1) * (2 * n + 1) // 6 def sum_of_cubes(n): return (n * (n + 1) // 2) ** 2 # 示例:n=5 n = 5 print("平方和:", sum_of_squares(n)) # 输出 55 print("立方:", sum_of_cubes(n)) # 输出 225 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值