Re: [中學] 數論
※ 引述《lilygarfield (愛情讓我變成詩人)》之銘言:
: 標題: [中學] 數論
: 時間: Fri Dec 16 11:18:47 2011
:
: 從
:
: 1/2, 1/3, 1/4, 1/5, ..., 1/99 中
:
: 挑出10個數,使之加總為 1
:
: 該挑那10個數?
:
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 140.126.180.33
有版友已經給出一些特解了。
我用幾年前組的電腦,CPU:AMD Athlon 64 X2 Dual Core 5600+ 2.91 GHz 跑了
CPU時間(註)八小時五十分後,得到下面這些一部份的解。
解:{99,90,84,77,70,60,55,14,3,2}
解:{99,91,78,77,70,63,55,14,3,2}
解:{99,90,88,77,66,60,56,14,3,2}
解:{91,90,84,78,72,60,56,14,3,2}
解:{99,88,84,77,66,63,56,14,3,2}
解:{95,91,84,78,76,70,38,15,3,2}
解:{99,90,88,77,70,66,40,15,3,2}
解:{91,90,84,78,72,70,40,15,3,2}
解:{99,91,90,78,77,55,42,15,3,2}
解:{91,90,84,78,70,60,45,15,3,2}
解:{99,88,77,72,70,66,45,15,3,2}
解:{99,90,80,77,70,55,48,15,3,2}
解:{91,90,80,78,72,56,48,15,3,2}
解:{91,84,80,78,70,60,48,15,3,2}
解:{99,90,77,75,70,55,50,15,3,2}
解:{91,90,78,75,72,56,50,15,3,2}
解:{91,84,78,75,70,60,50,15,3,2}
解:{99,90,77,72,63,56,55,15,3,2}
解:{91,90,78,72,66,56,55,15,3,2}
解:{99,84,77,70,63,60,55,15,3,2}
解:{91,84,78,70,66,60,55,15,3,2}
解:{99,88,77,66,63,60,56,15,3,2}
解:{91,84,78,72,63,60,56,15,3,2}
解:{96,91,84,80,78,70,32,16,3,2}
解:{91,88,84,80,78,70,33,16,3,2}
解:{91,90,80,78,72,70,35,16,3,2}
解:{99,88,80,77,70,66,36,16,3,2}
解:{91,84,80,78,72,70,36,16,3,2}
解:{95,91,80,78,76,56,38,16,3,2}
解:{95,90,80,76,72,60,38,16,3,2}
解:{95,84,80,76,72,63,38,16,3,2}
解:{99,90,80,77,70,55,40,16,3,2}
解:{91,90,80,78,72,56,40,16,3,2}
解:{91,84,80,78,70,60,40,16,3,2}
解:{91,84,80,78,70,56,42,16,3,2}
解:{90,84,80,72,70,60,42,16,3,2}
解:{91,80,78,72,70,63,42,16,3,2}
解:{91,80,78,77,70,56,44,16,3,2}
解:{90,80,77,72,70,60,44,16,3,2}
解:{84,80,77,72,70,63,44,16,3,2}
解:{91,90,84,78,70,48,45,16,3,2}
解:{99,80,77,72,70,55,45,16,3,2}
解:{91,90,80,78,60,56,45,16,3,2}
解:{91,84,80,78,63,56,45,16,3,2}
解:{90,84,80,72,63,60,45,16,3,2}
解:{91,84,78,75,70,50,48,16,3,2}
解:{99,90,77,70,60,55,48,16,3,2}
解:{99,84,77,70,63,55,48,16,3,2}
解:{91,84,78,70,66,55,48,16,3,2}
解:{91,90,78,72,60,56,48,16,3,2}
解:{99,88,77,66,63,56,48,16,3,2}
解:{91,84,78,72,63,56,48,16,3,2}
解:{90,80,75,72,66,55,50,16,3,2}
解:{91,80,78,75,60,56,50,16,3,2}
解:{84,80,75,72,63,60,50,16,3,2}
解:{99,80,77,63,60,56,55,16,3,2}
解:{91,80,78,66,60,56,55,16,3,2}
解:{84,80,72,66,63,60,55,16,3,2}
解:{99,90,85,77,70,55,34,17,3,2}
解:{91,90,85,78,72,56,34,17,3,2}
解:{91,85,84,78,70,60,34,17,3,2}
解:{99,88,84,77,72,66,28,18,3,2}
解:{91,90,84,78,70,60,30,18,3,2}
解:{99,88,77,72,70,66,30,18,3,2}
解:{99,96,77,72,70,55,32,18,3,2}
解:{96,91,90,78,60,56,32,18,3,2}
解:{96,91,84,78,63,56,32,18,3,2}
解:{96,90,84,72,63,60,32,18,3,2}
解:{99,88,77,72,70,55,33,18,3,2}
解:{91,90,88,78,60,56,33,18,3,2}
解:{91,88,84,78,63,56,33,18,3,2}
解:{99,91,78,72,66,56,33,18,3,2}
解:{99,90,84,66,63,60,33,18,3,2}
解:{90,88,84,72,63,60,33,18,3,2}
簡略地說有十個參數要跑迴圈,最外層(最後一位)連2都還沒跑完,
外面數來第二層連3都還沒跑完;所以這只是全部解的一小小小小小小小部份。
當然,從數學的角度而言,跑出全部的解或許還比較有意義一點,
只跑出這一小部份的解並沒什麼意義;
僅是用來對解的個數做一個初步的想像參考用途而已,即:解其實是很多的。
這種整數倒數和方程的問題,一個比較有意義的應用有:
求出所有可能的正n邊體(只有五種)。有興趣的人,可以參考:
Algebra,Michael Artin,1991;Chapter 5, Section 9,
Finite subgroups of the rotation group.
註:
CPU時間的意思是指以CPU100%的最高時脈計算下的"工作量時間",
而非電腦開機的實際時間,
比方說CPU用50%的力量,跑了3分鐘後,又用了30%的力量跑了6分鐘,
那麼則跑了3*0.5+6*0.3=3.3分鐘的 CPU時間
============================================================
我是用Mathematica跑的,Coding不是我的本業,
以天賦樹技能來打比方的話,大概就是只點一點技能點開眼而己;
所以Code應該是很鳥,有很大的改進空間。
演算法也只用到了基礎的上下限bound來減少檢驗數,
並沒有太大的精緻化,應該也有很大的改良空間。
而未足取數和就為1時,所造成的迴圈上下限分母為零的情況也還沒修掉。
因為不是什麼致命性的問題,嘗試修了一下,也改不太好,所以就偷懶不修了。
有興趣的,可以看看要不要大幅幫忙改良一下。
Clear["Global`*"]
numberofloop = 3
now := numberofloop
endnumber := 99
counter = 0
vari = Join[Array[2 &, numberofloop], {1}]
recurrence[
now_] := (For[
vari[[now]] =
Max[vari[[now + 1]] + 1,
IntegerPart[
1/(1 - Sum[1/vari[[i]], {i, now + 1, numberofloop}])]], (vari[[
now]] <=
Min[endnumber,
IntegerPart[
now/(1 - Sum[1/vari[[i]], {i, now + 1, numberofloop}])] +
1]) && (1/(1 -
Sum[1/vari[[i]], {i, now + 1, numberofloop}]) != 0 ||
now == 2), vari[[now]]++,
If[now == 1 ,
If[Sum[1/vari[[i]], {i, 1, numberofloop}] == 1,
Print["解:", Take[vari, numberofloop]]];
counter++,
recurrence[now - 1]]])
recurrence[now]
Print["共跑", counter, "組"]
====================================================================
當取的數不多的時候,應該是靠細緻的人工分析,就可以解出所有解了。
(比方說3個就很簡單。 XD)
或許更無腦一點的方法,就只是把電腦演算的動作變成人腦執行而已,也可以解出來。
這些應該也是不錯的動腦問題,所以我再把取數少的狀況,用電腦跑出的解也列一下。
3個:
解:{6,3,2}
4個:
解:{42,7,3,2}
解:{24,8,3,2}
解:{18,9,3,2}
解:{15,10,3,2}
解:{20,5,4,2}
解:{12,6,4,2}
5個:
解:{1806,43,7,3,2}
解:{924,44,7,3,2}
解:{630,45,7,3,2}
解:{483,46,7,3,2}
解:{336,48,7,3,2}
解:{294,49,7,3,2}
解:{238,51,7,3,2}
解:{189,54,7,3,2}
解:{168,56,7,3,2}
解:{140,60,7,3,2}
解:{126,63,7,3,2}
解:{105,70,7,3,2}
解:{91,78,7,3,2}
解:{600,25,8,3,2}
解:{312,26,8,3,2}
解:{216,27,8,3,2}
解:{168,28,8,3,2}
解:{120,30,8,3,2}
解:{96,32,8,3,2}
解:{88,33,8,3,2}
解:{72,36,8,3,2}
解:{60,40,8,3,2}
解:{56,42,8,3,2}
解:{342,19,9,3,2}
解:{180,20,9,3,2}
解:{126,21,9,3,2}
解:{99,22,9,3,2}
解:{72,24,9,3,2}
解:{54,27,9,3,2}
解:{45,30,9,3,2}
解:{240,16,10,3,2}
解:{90,18,10,3,2}
解:{60,20,10,3,2}
解:{40,24,10,3,2}
解:{231,14,11,3,2}
解:{110,15,11,3,2}
解:{33,22,11,3,2}
解:{156,13,12,3,2}
解:{84,14,12,3,2}
解:{60,15,12,3,2}
解:{48,16,12,3,2}
解:{36,18,12,3,2}
解:{30,20,12,3,2}
解:{28,21,12,3,2}
解:{35,15,14,3,2}
解:{420,21,5,4,2}
解:{220,22,5,4,2}
解:{120,24,5,4,2}
解:{100,25,5,4,2}
解:{70,28,5,4,2}
解:{60,30,5,4,2}
解:{45,36,5,4,2}
解:{156,13,6,4,2}
解:{84,14,6,4,2}
解:{60,15,6,4,2}
解:{48,16,6,4,2}
解:{36,18,6,4,2}
解:{30,20,6,4,2}
解:{28,21,6,4,2}
解:{140,10,7,4,2}
解:{42,12,7,4,2}
解:{28,14,7,4,2}
解:{72,9,8,4,2}
解:{40,10,8,4,2}
解:{24,12,8,4,2}
解:{18,12,9,4,2}
解:{15,12,10,4,2}
解:{120,8,6,5,2}
解:{45,9,6,5,2}
解:{30,10,6,5,2}
解:{20,12,6,5,2}
解:{20,6,5,4,3}
5個就已經有點恐怖了;我想下面應該不用再列了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 182.235.189.13
推
12/18 02:52, , 1F
12/18 02:52, 1F
推
12/18 03:01, , 2F
12/18 03:01, 2F
推
12/18 16:42, , 3F
12/18 16:42, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
中學
以下文章回應了本文:
中學
2
8
完整討論串 (本文為第 5 之 20 篇):
中學
0
1
中學
1
4
中學
0
4
中學
6
10
中學
1
1
中學
中學
9
15
中學
1
2
中學
1
1