长泽梓无码片迅雷链接:欧拉项目第六题Problem6

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 22:52:10

欧拉项目第六题Problem6

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.

package project.euler;

 

public class Problem6a {

 

    /**

     * @欧拉项目 第六题 方法1

     *

     */

   

    public void findDiff(int maxNum){

        //long longDif = 0;

       

        long sum = 0;   //sum = 1^2 + 2^2 + ... + 10^2 + …… + n^2

        int sumSqu = 0;   //sumSqu = 1 + 2 + ... + 10 + …… + n

        long pow = 0;   //pow = (sumSqu)^2

       

        //减数

        for(int i = 1; i <= maxNum; i++){

            sumSqu += i;

            pow = (long)Math.pow(sumSqu, 2);

           

            sum += Math.pow(i, 2);

            System.out.println("前" + i + "项和" + sumSqu + "的平方" + pow + " - " + sum + " = " + (pow - sum));

        }

        //pow = (long)Math.pow(sumSqu, 2);

       

       

       

        //return longDif;

    }

    public static void main(String[] args) {

        Problem6a p6 = new Problem6a();

        p6.findDiff(100);

    }

 

}

前1项和1的平方1 - 1 = 0

前2项和3的平方9 - 5 = 4

前3项和6的平方36 - 14 = 22

前4项和10的平方100 - 30 = 70

前5项和15的平方225 - 55 = 170

前6项和21的平方441 - 91 = 350

前7项和28的平方784 - 140 = 644

前8项和36的平方1296 - 204 = 1092

前9项和45的平方2025 - 285 = 1740

前10项和55的平方3025 - 385 = 2640

前11项和66的平方4356 - 506 = 3850

前12项和78的平方6084 - 650 = 5434

前13项和91的平方8281 - 819 = 7462

前14项和105的平方11025 - 1015 = 10010

前15项和120的平方14400 - 1240 = 13160

前16项和136的平方18496 - 1496 = 17000

前17项和153的平方23409 - 1785 = 21624

前18项和171的平方29241 - 2109 = 27132

前19项和190的平方36100 - 2470 = 33630

前20项和210的平方44100 - 2870 = 41230

前21项和231的平方53361 - 3311 = 50050

前22项和253的平方64009 - 3795 = 60214

前23项和276的平方76176 - 4324 = 71852

前24项和300的平方90000 - 4900 = 85100

前25项和325的平方105625 - 5525 = 100100

前26项和351的平方123201 - 6201 = 117000

前27项和378的平方142884 - 6930 = 135954

前28项和406的平方164836 - 7714 = 157122

前29项和435的平方189225 - 8555 = 180670

前30项和465的平方216225 - 9455 = 206770

前31项和496的平方246016 - 10416 = 235600

前32项和528的平方278784 - 11440 = 267344

前33项和561的平方314721 - 12529 = 302192

前34项和595的平方354025 - 13685 = 340340

前35项和630的平方396900 - 14910 = 381990

前36项和666的平方443556 - 16206 = 427350

前37项和703的平方494209 - 17575 = 476634

前38项和741的平方549081 - 19019 = 530062

前39项和780的平方608400 - 20540 = 587860

前40项和820的平方672400 - 22140 = 650260

前41项和861的平方741321 - 23821 = 717500

前42项和903的平方815409 - 25585 = 789824

前43项和946的平方894916 - 27434 = 867482

前44项和990的平方980100 - 29370 = 950730

前45项和1035的平方1071225 - 31395 = 1039830

前46项和1081的平方1168561 - 33511 = 1135050

前47项和1128的平方1272384 - 35720 = 1236664

前48项和1176的平方1382976 - 38024 = 1344952

前49项和1225的平方1500625 - 40425 = 1460200

前50项和1275的平方1625625 - 42925 = 1582700

前51项和1326的平方1758276 - 45526 = 1712750

前52项和1378的平方1898884 - 48230 = 1850654

前53项和1431的平方2047761 - 51039 = 1996722

前54项和1485的平方2205225 - 53955 = 2151270

前55项和1540的平方2371600 - 56980 = 2314620

前56项和1596的平方2547216 - 60116 = 2487100

前57项和1653的平方2732409 - 63365 = 2669044

前58项和1711的平方2927521 - 66729 = 2860792

前59项和1770的平方3132900 - 70210 = 3062690

前60项和1830的平方3348900 - 73810 = 3275090

前61项和1891的平方3575881 - 77531 = 3498350

前62项和1953的平方3814209 - 81375 = 3732834

前63项和2016的平方4064256 - 85344 = 3978912

前64项和2080的平方4326400 - 89440 = 4236960

前65项和2145的平方4601025 - 93665 = 4507360

前66项和2211的平方4888521 - 98021 = 4790500

前67项和2278的平方5189284 - 102510 = 5086774

前68项和2346的平方5503716 - 107134 = 5396582

前69项和2415的平方5832225 - 111895 = 5720330

前70项和2485的平方6175225 - 116795 = 6058430

前71项和2556的平方6533136 - 121836 = 6411300

前72项和2628的平方6906384 - 127020 = 6779364

前73项和2701的平方7295401 - 132349 = 7163052

前74项和2775的平方7700625 - 137825 = 7562800

前75项和2850的平方8122500 - 143450 = 7979050

前76项和2926的平方8561476 - 149226 = 8412250

前77项和3003的平方9018009 - 155155 = 8862854

前78项和3081的平方9492561 - 161239 = 9331322

前79项和3160的平方9985600 - 167480 = 9818120

前80项和3240的平方10497600 - 173880 = 10323720

前81项和3321的平方11029041 - 180441 = 10848600

前82项和3403的平方11580409 - 187165 = 11393244

前83项和3486的平方12152196 - 194054 = 11958142

前84项和3570的平方12744900 - 201110 = 12543790

前85项和3655的平方13359025 - 208335 = 13150690

前86项和3741的平方13995081 - 215731 = 13779350

前87项和3828的平方14653584 - 223300 = 14430284

前88项和3916的平方15335056 - 231044 = 15104012

前89项和4005的平方16040025 - 238965 = 15801060

前90项和4095的平方16769025 - 247065 = 16521960

前91项和4186的平方17522596 - 255346 = 17267250

前92项和4278的平方18301284 - 263810 = 18037474

前93项和4371的平方19105641 - 272459 = 18833182

前94项和4465的平方19936225 - 281295 = 19654930

前95项和4560的平方20793600 - 290320 = 20503280

前96项和4656的平方21678336 - 299536 = 21378800

前97项和4753的平方22591009 - 308945 = 22282064

前98项和4851的平方23532201 - 318549 = 23213652

前99项和4950的平方24502500 - 328350 = 24174150

前100项和5050的平方25502500 - 338350 = 25164150

 

问题分析:

这是个纯数学题了,有数学公式的:

(1+2+3...+n)^2 = ((1+n)*n/2)^2

(1^2 + 2^2 + 3^2 +...+ n^2) = 1/6 * n(n+1)(2n+1) 

 

public class Problem6b {

 

    /**

     * @欧拉项目第六题 方法2

     */

    public void findDiff(int maxNum){

        long dif = (maxNum * (maxNum + 1) * (maxNum - 1) * (3 * maxNum + 2)) / 12;

        System.out.print(dif);

    }

   

    public static void main(String[] args) {

        Problem6b p6b = new Problem6b();

        p6b.findDiff(100);

 

    }

 

}