微凉 发表于 2016-11-21 13:02:19

25164150

芒果加黄桃 发表于 2017-1-9 09:54:28

from time import time
def calc(number=10):
    return sum(range(1, 101)) ** 2 - sum()
start = time()
print(calc(100))
print('cost %.3f sec' % (time() - start))

渡风 发表于 2017-1-12 22:22:56

此代码使用matlab编程
Problem6所用时间为0.0012004秒
Problem6的答案为25164150
%题目6:平方和与和平方的差是多少?
function Output=Problem6(Input)
tic
if nargin==0
    Input=100;
end
Rank=1:Input;
Num1=sum(Rank)^2;
Num2=sum(Rank.*Rank);
Output=Num1-Num2;
toc
disp('此代码使用matlab编程')
disp(['Problem6所用时间为',num2str(toc),'秒'])
disp(['Problem6的答案为',num2str(Output)])
end

FlySelf 发表于 2017-2-2 14:25:42

'''
思路:
自然数的平方和公式为:n(n+1)(2n+1)/6
自然数和的平方公式为:(n(n+1)/2)^2
'''

import time

def difference(number):
    '计算你个自然数的平方和与和平方的差'
    dif = 0
    sum_of_squares = number * (number + 1) * (2 * number + 1) / 6
    square_of_sum = (number * (number + 1) / 2) ** 2
    dif = square_of_sum - sum_of_squares
    return dif

start = time.clock()
print('前一百个自然数的平方和与和平方之差为%d' %difference(100))
end = time.clock()
print('程序执行了%fs。' %(end - start))

执行结果:
前一百个自然数的平方和与和平方之差为25164150
程序执行了0.000161s。

看了看前面的答案,竟然只有一个java的是使用了数列,其他都是循环,循环的效率明显低下

夜魔时生 发表于 2017-3-6 14:34:26

a=sum()-sum(list(range(1,101)))**2
print(a)

99592938 发表于 2017-3-14 15:45:11

sumsq=sum1=0
for i in range(1,101):
    sumsq+=i**2
    sum1+=i
sqsum=sum1**2
print(sqsum-sumsq)

99592938 发表于 2017-3-14 15:45:45

sumsq=sum1=0
for i in range(1,101):
    sumsq+=i**2
    sum1+=i
sqsum=sum1**2
print(sqsum-sumsq)

JonTargaryen 发表于 2017-3-27 11:09:49

这个是有公式的呀,根本不需要循环

#include <stdio.h>
#include <math.h>

int main(void)
{
    long int sum_square, square_sum = 0;
    long int result;
    int n = 100;

    sum_square = pow(n * (n + 1) / 2, 2);
    square_sum = n * (n + 1) * (2 * n + 1) / 6;

    result = sum_square - square_sum;

    printf("%ld\n", result);

    return 0;
}

JonTargaryen 发表于 2017-3-27 11:11:04

JonTargaryen 发表于 2017-3-27 11:09
这个是有公式的呀,根本不需要循环

n = 100

sum_square = n * (n + 1) * (2 * n + 1) / 6
square_sum = n * (n - 1) / 2 * n * (n - 1) / 2

print(square_sum - sum_square)

凌晨分子 发表于 2017-4-5 21:54:04

结果:24174150
代码:
sum(x for x in range(1,100))**2 - sum(x**2 for x in range(1,100))

Eagle.Tong 发表于 2017-4-16 21:45:11

#求前100自然数的和的平方和平方之和的差

import time

start = time.time()

def sumsquare(n):
    sumsquare100 = 0
    for i in range(1,n+1):
      sumsquare100 += i**2
    return sumsquare100

def squaresum(n):
    sum100 = 0
    for i in range(1,n+1):
      sum100 += i
    return sum100**2


print(squaresum(100)-sumsquare(100))

end = time.time()

print(end-start)

结果:25164150
时间:0.005005598068237305

天之南 发表于 2017-4-30 21:43:38

#include<stdio.h>

int main()
{
        const int L = 100;
        int a = 0;
        int b = 0;
        for (int i = 1;i <= L;i++)
        {
                a += (i*i);
                b += i;
        }
        printf("%d\n", b*b - a);

        return 0;
}

铭记太阳 发表于 2017-5-4 16:51:30

答案是25164150

#include<stdio.h>
//1^2+2^2+...+n^2 = n*(n+1)*(2n+1)/6
int main(void)
{
        int n,rst;        //n表示前n个数字
        printf("enter the num:\t");
        scanf("%d",&n);
        rst=n*n*(n+1)*(n+1)/4-n*(n+1)*(2*n+1)/6;
        printf("%d\n",rst);
        return 0;
}

格式化、 发表于 2017-6-7 15:54:05

        public static void main(String[] args) {
                // 6、前是个自然数的平方和是:12+22+32+42+52……102=385;
                // 前十个自然数的和的平方是:(1+2+3+4+5…10) 2=552=3025;
                // 所以平方和与和的平方差是3025-385=2640.
                // 找出前100个自然数的平方和与和平方的差
                int sum = 0, sum1 = 0, sub = 0;
                for (int i = 1; i < 101; i++) {
                        sum = sum + i * i;
                        sum1 = sum1 + i;
                }
                sum1 = sum1 * sum1;
                sub = sum1 - sum;
                System.out.println(sub);

        }

水冢 发表于 2017-8-22 21:08:05

#include <stdio.h>

#define N 100

int main(void){
       
        int sum = 0, sum1 = 0;
       
        sum = N * (N+1) * (2*N+1) / 6;       
        sum1 = (1+N) * N / 2;
       
        sum1 *= sum1;
       
        printf("%d",sum1 - sum);
       
        return 0;
}

水冢 发表于 2017-8-22 21:08:37

水冢 发表于 2017-8-22 21:08


25164150

麦特的灰 发表于 2017-9-2 09:27:25

#前一百个自然数和的平方减去平方的和
method1 = 0
method2 = 0
for i in range(1,101):
    method1=method1+i**2
    method2=method2+i
method2=method2**2
print("method2-method1=%d-%d=%d"%(method2,method1,method2-method1))

BngThea 发表于 2017-9-11 17:17:10

square,sumi = 0,0
for i in range(1,101):
    square += i*i
    sumi += i
print(sumi*sumi - square)

zjhnz 发表于 2018-1-4 15:48:35

#include <stdio.h>
#define N 100

long sum(int n)
{
        if (n%2)
        {
                return n/2*n+n;
        }
        else
        {
                return (n+1)*n/2;
        }
}

int main(void)
{
        long long suma=0;
        long long sumb;
       
        for( int i=1; i<=100; i++)
        {
                suma=suma+i*i;
        }
       
        sumb=sum(N)*sum(N);
       
        printf("%lld",sumb-suma);
}

由我们主宰 发表于 2018-3-5 16:14:25

#include<stdio.h>
#include<math.h>
int SquareSum(int x)
{
        int i,y=0;
        for(i=1;i<=x;i++)
        {
                y=y+i*i;
        }
        return y;
}
int SumSquare(int x)
{
        int i,y=0;
        for(i=1;i<=x;i++)
        {
                y=y+i;
        }
        return y*y;
}
void main()
{
        int n=100;
        printf("%d\n",abs(SquareSum(n)-SumSquare(n)));
}
页: 1 [2] 3 4
查看完整版本: 题目6:平方和与和平方的差是多少?