Jump to content


CockRoachKiller

Member Since 13 August 13
Offline Last Active 20 November 13 12:01
*----

#810565 คำถาม บทเรียน คณิตศาสตร์ ของผม เพื่อนสมาชิก ช่วยหน่อยครับ

Posted by CockRoachKiller on 14 August 2013 - 12:29

คือ มีโจทย์ มารบกวน อีกแล้วครับ คือ

 

เค้าให้ ลองเขียนโปรแกรม เพื่อจะหาว่า มีเลข 0 ถึง 9 อยู่ใน 2 ยกกำลัง 4000

 

กระจาย กันอยู่ อย่างละ กี่ตัว

 

ผมลอง ดูคร่าว 2 ยกกำลัง 4000 น่าจะมีหลัก อยู่ 1480 หลัก โดยประมาณ

 

 

เค้าบอกอีกว่า ให้ลองใช้ วิธีการคิด หา โดยใช้ หลักของ สมการพหุนาม

 

ช่วย แต่ผม คิดไม่ออกเลย ว่า จะนำหลักการ ของพหุนาม มาช่วยยังไงได้

 

เลย รบกวน หน่อย นะครับ

 

ขอแค่ หลักการคิด น่ะครับ แล้วผมจะลอง ไปเขียน เป็น โปรแกรม ดูน่ะครับ

 

Don't reinvent the wheel.  Every language already have BigInteger.

 

Here is Java Code

 

    BigInteger bg =(new BigInteger("2")).pow(4000);
        String result = bg.toString();
        System.out.println(result);
        int num[] = new int[10];
        for(int i=0;i<result.length();i++){
            char ch = result.charAt(i);
            num[ch - '0']++;
        }
        for(int i=0;i<10;i++){
            System.out.println("" + i + " " + num[i]);            
        }

 

 

This is the result

13182040934309431001038897942365913631840191610932727690928034502417569281128344551079752123172122033140940756480716823038446817694240581281731062452512184038544674444386888956328970642771993930036586552924249514488832183389415832375620009284922608946111038578754077913265440918583125586050431647284603636490823850007826811672468900210689104488089485347192152708820119765006125944858397761874669301278745233504796586994514054435217053803732703240283400815926169348364799472716094576894007243168662568886603065832486830606125017643356469732407252874567217733694824236675323341755681839221954693820456072020253884371226826844858636194212875139566587445390068014747975813971748114770439248826688667129237954128555841874460665729630492658600179338272579110020881228767361200603478973120168893997574353727653998969223092798255701666067972698906236921628764772837915526086464389161570534616956703744840502975279094087587298968423516531626090898389351449020056851221079048966718878943309232071978575639877208621237040940126912767610658141079378758043403611425454744180577150855204937163460902512732551260539639221457005977247266676344018155647509515396711351487546062479444592779055555421362722504575706910949376
0 126
1 112
2 127
3 109
4 129
5 115
6 129
7 124
8 125
9 109