鱼C论坛

 找回密码
 立即注册
查看: 7141|回复: 75

题目6:平方和与和平方的差是多少?

[复制链接]
发表于 2015-4-20 23:47:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 永恒的蓝色梦想 于 2020-8-30 12:33 编辑
Sum square difference

The sum of the squares of the first ten natural numbers is,

12 + 22 + ... + 102 = 385


The square of the sum of the first ten natural numbers is,

(1 + 2 + ... + 10)2 = 552 = 3025


Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 - 385 = 2640.

Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum.


题目:

前十个自然数的平方和是:

12 + 22 + ... + 102 = 385


前十个自然数的和的平方是:

(1 + 2 + ... + 10)2 = 552 = 3025


所以平方和与和的平方的差是 3025 - 385 = 2640。

找出前一百个自然数的平方和与和平方的差。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-3 16:42:03 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-8-30 22:29 编辑
  1. #include <stdio.h>
  2. #include <math.h>

  3. int main(void)
  4. {
  5.     int i,pr,hr0,hr,result;
  6.     pr = hr = hr0 = 0;
  7.     for(i=1;i<=100;i++)
  8.     {
  9.         pr =  i * i + pr;
  10.     }
  11.     for(i=1;i<=100;i++)
  12.     {
  13.         hr0 = i + hr0;
  14.     }
  15.     hr = hr0 * hr0;
  16.     result = abs(pr - hr);
  17.     printf("%d\n",result);
  18. }
复制代码


如果有错误希望指出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-10 18:37:33 | 显示全部楼层
本帖最后由 无名侠 于 2015-7-10 18:41 编辑

感觉Python就是牛逼
sum(range(1,101))**2-sum([j**2 for j in range(1,101)])
25164150
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2015-7-19 22:08:45 | 显示全部楼层
  1. #include <stdio.h>
  2. #include<windows.h>
  3. int main()
  4. {
  5.         int i;
  6.         long long int j = 0,k;
  7.         for(i = 1;i<=100;++i)
  8.         {
  9.                 j += i*i;
  10.         }
  11.         k = 5050*5050;
  12.         printf("%lld\n",k - j);
  13.         system("pause");
  14.         return 0;
  15. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-19 22:09:07 | 显示全部楼层
无名侠 发表于 2015-7-10 18:37
感觉Python就是牛逼
sum(range(1,101))**2-sum([j**2 for j in range(1,101)])
25164150

花了多久显示出来的??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-20 10:10:58 | 显示全部楼层
牡丹花下死做鬼 发表于 2015-7-19 22:09
花了多久显示出来的??

小于1秒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-4 13:02:27 | 显示全部楼层
  1. /*找出前一百个自然数的平方和与和平方的差*/


  2. #include <iostream>
  3. using namespace std;

  4. int main ()
  5. {
  6. int sum1 = 0; //前一百个自然数的平方和
  7. int sum2 = 0; //前一百个自然数的和的平方
  8. int i; //自然数

  9. for ( i = 1 ; i <= 100 ; i ++ )
  10. {
  11.         sum1 += i * i ;
  12. }

  13. for ( i = 1 ; i <= 100 ; i ++ )
  14. {
  15.         sum2 += i ;
  16. }

  17. sum2 *= sum2;

  18. i = sum2 - sum1 ;

  19. cout<<"前一百个自然数的平方和与和平方的差为:"<<i<<endl;

  20. return 0 ;
  21. }
复制代码


输出:前一百个自然数的平方和与和平方的差为:25164150
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-6-13 15:42:50 | 显示全部楼层
  1. sum1,sum2=0,0
  2. for i in range(1,101):
  3.     sum1+=i
  4.     sum2+=i**2
  5. print(sum1**2-sum2)
复制代码


答案25164150
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-5 17:43:01 | 显示全部楼层
  1. def x(n):
  2.         a,b=0,0
  3.         for i in range(1,n+1):
  4.                 a+=(i*i)
  5.         for i in range(1,n+1):
  6.                 b+=i
  7.         return (b*b)-a
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-8 20:51:15 | 显示全部楼层
  1. result1 = []
  2. result2 = []
  3. for x in range(1, 101):
  4.     result1.append(x)

  5. for y in range(1, 101):
  6.     result2.append(pow(y, 2))

  7. print(pow(sum(result1), 2) - sum(result2))
复制代码


看看自己写的再看看大神写的,感觉惨不忍睹
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 17:47:10 | 显示全部楼层
print(sum(range(1, 101))**2 - sum(i**2 for i in range(1, 101)))
25164150
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-13 09:01:46 | 显示全部楼层
#include "stdio.h"
#define Num 100
void main()
{
int i,j;
long sum=0;
for(i=2;i<=Num;i++)
for(j=1;j<i;j++)
sum=i*j+sum;

printf("%d\n",sum*2);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-21 20:41:05 | 显示全部楼层
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         unsigned int add=0,result=0,i=2;

  5.         for(;i!=101;i++){
  6.                 add+=(i-1);
  7.                 result+=i*add;
  8.         }
  9.         printf("%u\n\n",result*2);
  10.        
  11.         return 0;
  12. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-6 17:43:07 | 显示全部楼层
  1. def euler(x):
  2.     return sum([i for i in range(1,x+1)])**2 - sum([i**2 for i in range(1,x+1)])

  3. if __name__ == '__main__':
  4.     print(euler(100))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-7 21:02:45 | 显示全部楼层
  1. sum1 = 0
  2. sum2 = 0
  3. for i in range(101):
  4.     sum1 = sum1 + i**2
  5.     sum2 = sum2 + i
  6. a = sum2 ** 2 - sum1
  7. print(a)
复制代码

25164150
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-26 20:14:07 | 显示全部楼层
list1 = []
count = 0
for i in range(1, 101):
    list1.append(i*i)
    count += i

# print sum(list1)
# print count*count
print count*count - sum(list1)


25164150
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-5 21:11:21 | 显示全部楼层

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>

  4. #define NUM 100
  5. int main()
  6. {
  7.         int i;
  8.         long s1,s2;
  9.         for(i = 0; i<NUM; i++)
  10.         {
  11.                 s1+=i*i;
  12.                 s2+=i;
  13.         }
  14.         s2*=s2;
  15.         printf("%ld",abs(s2-s1));

  16.         return 0;
  17. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-8 17:40:08 | 显示全部楼层
  1. #找出前一百个自然数的平方和与和平方的差
  2. import time

  3. start=time.clock()
  4. def pfh(n):
  5.     s=0
  6.     for i in range(1,n+1):
  7.         s=s+i**2
  8.     return s

  9. def hpf(n):
  10.     s=0
  11.     for i in range(1,n+1):
  12.         s=s+i
  13.     return s**2

  14. print(hpf(100)-pfh(100))

  15. end=time.clock()

  16. print("耗时:"+str(end-start)+"秒。")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-9 11:30:47 | 显示全部楼层
  1. public class SumSquareDifference {

  2.         public static void main(String[] args){
  3.                 int n = 100;
  4.                 int sum = (1 + n) * n / 2;
  5.                 int sum_Square = sum * sum;
  6.                
  7.                 int square_Sum = n * (n + 1) * (2 * n + 1) / 6;
  8.                
  9.                 System.out.println("前100个数平方和与和的平方之间的差值是:" + (square_Sum - sum_Square));
  10.         }
  11. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-11-18 01:01:54 | 显示全部楼层
  1. import time
  2. t = time.clock()
  3. def euler06(count=10):
  4.     return (sum(n for n in range(1,count+1)))**2 - sum([n**2 for n in range(1,count+1)])
  5. print(euler06(100),' time:',time.clock()-t)
复制代码


25164150  time: 0.00012197957453998107
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 18:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表