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

垃圾水题

随便搜了几个公式(但我实际写的暴力。。。题目保证不爆int,说明n,m<=10^3)

1^2+2^2+3^2+...+n^2

利用立方差公式 
n^3-(n-1)^3=1*[n^2+(n-1)^2+n(n-1)] 
=n^2+(n-1)^2+n^2-n 
=2*n^2+(n-1)^2-n 
2^3-1^3=2*2^2+1^2-2 
3^3-2^3=2*3^2+2^2-3 
4^3-3^3=2*4^2+3^2-4 
.
n^3-(n-1)^3=2*n^2+(n-1)^2-n 
各等式全相加 
n^3-1^3=2*(2^2+3^2+...+n^2)+[1^2+2^2+...+(n-1)^2]-(2+3+4+...+n) 
n^3-1=2*(1^2+2^2+3^2+...+n^2)-2+[1^2+2^2+...+(n-1)^2+n^2]-n^2-(2+3+4+...+n) 
n^3-1=3*(1^2+2^2+3^2+...+n^2)-2-n^2-(1+2+3+...+n)+1 
n^3-1=3(1^2+2^2+...+n^2)-1-n^2-n(n+1)/2 
3(1^2+2^2+...+n^2)=n^3+n^2+n(n+1)/2=(n/2)(2n^2+2n+n+1) 
=(n/2)(n+1)(2n+1) 
1^2+2^2+3^2+...+n^2=n(n+1)(2n+1)/6
另外一个很好玩的做法 
想像一个有圆圈构成的正三角形,
第一行1个圈,圈内的数字为1 
第二行2个圈,圈内的数字都为2,
以此类推 
第n行n个圈,圈内的数字都为n,
我们要求的平方和,就转化为了求这个三角形所有圈内数字的和.设这个数为r 
下面将这个三角形顺时针旋转60度,得到第二个三角形 
再将第二个三角形顺时针旋转60度,得到第三个三角形 
然后,将这三个三角形对应的圆圈内的数字相加,
我们神奇的发现所有圈内的数字都变成了2n+1 
而总共有几个圈呢,这是一个简单的等差数列求和 
1+2+……+n=n(n+1)/2 
于是3r=[n(n+1)/2]*(2n+1) 
r=n(n+1)(2n+1)/6

1^2+2^2+···n^2=1/6*n*(n+1)*(2n+1);
1^2+2^2+···(2n)^2=1/6*2n*(2n+1)*(4n+1);
2^2+4^2+6^2+···+(2n)^2=4*(1^2+2^2+···+n^2)=4*1/6*n*(n+1)*(2n+1);
1^2+3^2+···+(2n-1)^2=1/6*2n*(2n+1)*(4n+1)-4*1/6*n*(n+1)*(2n+1);


code

// <2007.cpp> - 11/17/16 08:40:30
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
typedef long long LL;
int main()
{
freopen("2007.in","r",stdin);
freopen("2007.out","w",stdout);
int n,m;
while(~scanf("%d%d",&n,&m)){
if(n>m)swap(n,m);
LL ans1=0,ans2=0;
for(LL i=n;i<=m;i++)
if(i&1)ans1+=i*i*i;
else ans2+=i*i;
printf("%lld %lld\n",ans2,ans1);
}
return 0;
}

【HDU2007】平方和与立方和的更多相关文章

  1. hdu2007 平方和与立方和【C++】

    平方和与立方和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  2. (基础) 平方和与立方和 hdu2007

    平方和与立方和 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2007 Time Limit: 2000/1000 MS (Java/Others)     ...

  3. HDOJ2007平方和与立方和

    平方和与立方和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  4. 平方和与立方和 AC 杭电

    平方和与立方和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  5. (hdu 简单题 128道)平方和与立方和(求一个区间的立方和和平方和)

    题目: 平方和与立方和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  6. HDOJ2007_平方和与立方和

    应该注意到一个细节是题目中没有说明输入的两个数据一定是先小后大的关系,所以需要做一次判断.其他的比较简单. HDOJ2007_平方和与立方和 #include<iostream> #inc ...

  7. 【ACM】hdu_2007_平方和与立方和_201307261533

    平方和与立方和Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  8. Hoj_平方和与立方和

    平方和与立方和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  9. Java练习 SDUT-1230_平方和与立方和

    平方和与立方和 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇 ...

随机推荐

  1. linux 查看自己所在的公网ip

    curl members.3322.org/dyndns/getip 其他的方法还有: curl icanhazip.com curl ifconfig.me curl curlmyip.com cu ...

  2. C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案

    本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...

  3. 用systemtap跟踪打印动态链接库的所有c++函数调用过程

    http://gmd20.blog.163.com/blog/static/168439232015475525227/             用systemtap跟踪打印动态链接库的所有c++函数 ...

  4. 浅析keepalived vip漂移原理与VRRP协议

    2017-01-18 Martin 开源技术社区 简介 什么是keepalived呢?keepalived是实现高可用的一种轻量级的技术手段,主要用来防止单点故障(单点故障是指一旦某一点出现故障就会导 ...

  5. PERL 源码 大神网站

    http://blog.csdn.net/haoyujie/article/category/1187883 http://deepfuture.iteye.com/blog/816428

  6. ceph工作原理和安装

    一.概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.随着云计算的发展,ceph乘上了OpenStack的春风,进而成为了开源社区受关注较高的项目之 ...

  7. jQuery开发之Ajax

    1.load()方法 (1)load()方法是jQuery中最经常使用和最简单的Ajax方法,能载入远程HTML代码,并插入代码中. 它的结构为: load(url [,data] [,callbac ...

  8. linux cat 文件操作

    简略版: cat主要有三大功能:1.一次显示整个文件.$ cat filename2.从键盘创建一个文件.$ cat > filename     只能创建新文件,不能编辑已有文件.3.将几个文 ...

  9. HDU 3342 Legal or Not (最短路 拓扑排序?)

    Legal or Not Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  10. Java中常见的注解

    Java中常见的注解 1.JDK自带的注解@Override  @Deprecated  @Suppvisewarnings 常见第三方注解 Spring:@Autowired  @Service  ...