平方和与和平方
来源:互联网 发布:2017院士 知乎 编辑:程序博客网 时间:2024/04/27 19:37
平方和与和平方
问题描述:
前十个自然数的平方和是12+22+32+...+102=385 ,前十个自然数和的平方是(1+2+3+...+10)2=552=3025;
所得平方之和与和的平方的差值是3025-385=2640. 现给定一个n,叫你求出前n个自然数的平方和与和平方的差值.
输入:
一个整数n
输出:
一个整数(前n个自然数的平方和与和平方的差值 )
例 如
输入:
10
输出:
2640
解法一:
首先也是最笨的解法,即直接对题目中的计算过程进行模拟求得,, ,最后直接输出result
C语言代码如下:
#include <stdio.h>#include <math.h>void main(){ __int64 result,sum1=0,sum2=0; int n,i; scanf("%d",&n); for(i=1;i<=n;i++) { sum1+=pow(i,2); sum2+=i; } sum2=pow(sum2,2); result=sum2-sum1; printf("%I64d\n",result);}
解法二:
首先我们先写下题目中的两个公式
最后的解为:
C语言代码如下:
#include <stdio.h>void main(){__int64 result=0;int n,i,j;scanf("%d",&n);for(i=1;i<n;i++){result+=2*i*(((n-i)*(i+1+n))/2);}printf("%I64d\n",result);}
解法三:
此公式由数学归纳法证明
C语言代码如下:
#include <stdio.h>#include <math.h>void main(){__int64 result,n,sum1,sum2;scanf("%I64d",&n);sum1=(n*(n+1)*(2*n+1))/6;sum2=pow((n*(n+1))/2,2);result=sum2-sum1;printf("%I64d\n",result);}
1 0
- 平方和与和平方
- 平方和与和平方的差是多少?
- 题目6:平方和与和平方的差是多少?
- 欧拉工程第6题 平方和与和平方的差是多少
- 欧拉工程第六题 平方和与和平方的差是多少
- 分桶法和平方分割
- 分桶发和平方分割
- 分桶法和平方分割
- 快速平方根和平方计算
- 平方和与立方和
- 平方和与倒数和
- 平方和与立方和!
- 平方和与立方和
- 平方和与立方和
- 平方和与立方和
- 平方和与立方和
- 平方和与立方和
- 平方和与立方和
- iPhone的设计尺寸
- 《肉瘤公公》——太宰治
- JavaScript弹出新窗口 返回父级页面并刷新
- hiho一下 第四十四周 博弈游戏
- 浙江大学PAT_乙级_1027. 打印沙漏(20)
- 平方和与和平方
- NSCopying
- Hive 实现 IN 和 NOT IN 子句
- SharePoint 2013 配置基于AD的Form认证
- Java读取word文档
- BNU 49100超级线段树
- swift的一些知识点演练
- C++第四章
- HDU 4597(记忆化搜索 dfs 参考)