posted @ 2010-11-24 17:56 ClumsyBird 閱讀(189) | 評論 (0) | 編輯 收藏
posted @ 2010-11-24 16:03 ClumsyBird 閱讀(251) | 評論 (0) | 編輯 收藏
“10以下的質數之和為2+3+5+7=17,求2000000以下的質數之和?”
此問題相對比較簡單,在前面的問題中已經給出質數判斷的方法,具體代碼如下:



















問題的實現方法如下:















即可得到答案142913828922。
稍稍優化一下,



















請不吝賜教。
@anthor ClumsyBird
posted @ 2010-11-23 17:22 ClumsyBird 閱讀(397) | 評論 (0) | 編輯 收藏
“畢達哥拉斯三元數組存在{a,b,c},a<b<c,使得a^2+b^2=c^2,如3^2+4^2=5^2=25,求a,b,c滿足以上條件,并使a+b+c=1000,給出a*b*c的值。”
代碼如下:























具體的分析可以看代碼注釋。得出結果31875000。
除了直接的辦法,應該還有另外的方法來求,保持未完待續狀態。
請不吝賜教。
@anthor ClumsyBird
posted @ 2010-11-23 17:09 ClumsyBird 閱讀(349) | 評論 (0) | 編輯 收藏
問題描述如下:
“對于1000位數值求出連續五位數值的最大乘積,1000位連續數值如下:
73167176531330624919225119674426574742355349194934
96983520312774506326239578318016984801869478851843
85861560789112949495459501737958331952853208805511
12540698747158523863050715693290963295227443043557
66896648950445244523161731856403098711121722383113
62229893423380308135336276614282806444486645238749
30358907296290491560440772390713810515859307960866
70172427121883998797908792274921901699720888093776
65727333001053367881220235421809751254540594752243
52584907711670556013604839586446706324415722155397
53697817977846174064955149290862569321978468622482
83972241375657056057490261407972968652414535100474
82166370484403199890008895243450658541227588666881
16427171479924442928230863465674813919123162824586
17866458359124566529476545682848912883142607690042
24219022671055626321111109370544217506941658960408
07198403850962455444362981230987879927244284909188
84580156166097919133875499200524063689912560717606
05886116467109405077541002256983155200055935729725
71636269561882670428252483600823257530420752963450
如:紅色表示的連續5位數57831,其乘積為5*7*8*3*1”
代碼實現如下:














得答案40824。
請不吝賜教。
@anthor ClumsyBird
posted @ 2010-11-23 15:21 ClumsyBird 閱讀(255) | 評論 (0) | 編輯 收藏
“前6個質數為:2,3,5,7,11,13,那第6個質數為13,求第10001個質數。”
代碼如下:
































請不吝賜教。
@anthor ClumsyBird
posted @ 2010-11-23 13:56 ClumsyBird 閱讀(875) | 評論 (0) | 編輯 收藏
問題描述如下:
“1到10的平方和為:1^2 + 2^2 + ... + 10^2 = 385,和平方為:(1 + 2 + ... + 10)^2 = 55^2 = 3025,他們之間的差為3025-385=2640,求1到100的和平方與平方和之間的差值?”
代碼實現如下:














我們還可以使用數學的方法來解此題。
1^2 + 2^2 + ... + n^2 =n(n+1)(2n+1)/6
(1+2+3+...+n)^2 =(n(n+1)/2)^2
相關證明可以去具體的了解,如:
(n+1)^3 -(n-1)^3 =6n^2+2提示:證明平方和公式,1到n的求和公式就不提示了
給出代碼:



到此結束,請不吝賜教。
@anthor ClumsyBird
posted @ 2010-11-23 13:37 ClumsyBird 閱讀(567) | 評論 (0) | 編輯 收藏
問題敘述如下:
“2520是最小的數能夠整除1到10,求能被1到20所整除的最小的數?”
代碼如下:



























調用getNumber(1,20)即可得到答案232792560。
由于在此用到最大公約數,所以在下面給出了一些實現。













































如果有其他的方法,也請貼出大家一起討論。^_^
請不吝賜教。
@anthor ClumsyBird
posted @ 2010-11-23 13:14 ClumsyBird 閱讀(277) | 評論 (0) | 編輯 收藏