mathematica趣題解答

2021-09-08 23:15:43 字數 3231 閱讀 7040

clear["global`*"]

人民幣是中國的流通貨幣。它由如下面額貨幣組成:

1 分,2

分,5分,1

角,2角,5

角,1元,2

元 如果要組成

2元錢 可以是

2 元錢= 1 個*1

元 + 1 個*5

角 + 2 個*2

角 + 1 個*5

分 + 1 個*2

分 + 3 個*1

分 你可以使用以上任意貨幣面額組成

2 元錢,問共有多少種方式?

block[ ,

money = ;

cnt = table[0,, ];

table[cnt[[1,i]] = 1, ];

for[i = 2, i <201, i++,

for[j = 1, j <9, j++,

cnt[[i, j]] =0;

for[k = 1, k<= j, k++,

if[money[[k]]< i, cnt[[i, j]] += cnt[[i - money[[k]], k]],

if[money[[k]]== i, cnt[[i, j]]++]]]]];

cnt[[200, 8]]

] // timing

120

可以寫為三組勾股數(整數) 之和,分別是

, ,

。要求在不超過

1000

的數字中求出可以寫為最多組勾股數之和的數。

module[ ,

found = {};

cnt = table[0,];

for[i = 1, i <500, i++,

for[j = 1, j

if[2 i j + 2i i > 1000, break];

for[k = 1, k< 1000, k++,

if[k (2 i j+ 2 i i) > 1000, break];

if[!memberq[found, hash],

cnt[[k (2 ij + 2 i i)]]++;

] ]

] ];

j = 1;

for[i = 2, i <1001, i++, if[cnt[[j]] < cnt[[i]], j = i]]; j

] // timing

找出最小的乙個數

x,要求它的2倍,

3位直到

6倍各數字都與原數的數字組成是相同的,只能是順序不同。

module[ ,

for[i = 1, i <100, i++,

lst =realdigits@(1/prime[i]);

if[depth[lst]> 3,

num =fromdigits@lst[[1, 1]];

for[j = 2, j< 8, j++,

if[j == 7,return[num]];

if[sort@integerdigits[num]!= sort@integerdigits[num*j],

break

]; ]

] ]

]; // timing

1487, 4817, 8147

這三個數有如下特徵:都是素數;由相同的數字組成(

1, 4, 7, 8

);三者構成等差數列。

已知在四位數中仍然有一組與此類似的等差數列,試找出來這三個數,並且按照這三個數字大小遞增的順序寫出這十二個位數來。

quiet@module[ ,

list =select[range[1000, 9999], primeq];

list =integerdigits /@ list;

list =gatherby[list, sort[#1] == sort[#2] &];

list =map[fromdigits, select[flatten[list, 0], length[#] >= 3 &],];

m =length[list];

order =table[permutations[range[i], ], ];

for[i = 1, i<= m, i++,

curlist =list[[i]];

n =length[curlist];

nn =length[order[[n]]];

for[j = 1, j<= nn, j++,

orderlist =order[[n, j]];

if[curlist[[orderlist[[2]]]]- curlist[[orderlist[[1]]]] ==

curlist[[orderlist[[3]]]]- curlist[[orderlist[[2]]]],

print ]

] ]

] // timing

clear["global`*"]

f[n_] := n (3 n -2)/2;

eq1 =simplify[f[a] + f[b] == f[c]]

eq2 =simplify[f[a] - f[b] == f[d]]

eq =simplify[eq1[[1]] - eq1[[2]] - eq2[[1]] + eq2[[2]]]

eq = 2 f[a] -f[c] - f[d] // simplify

eq = 2 f[b] -f[c] + f[d] // simplify

3 a^2 + 3 b^2 +(2 - 3 c) c == 2 (a + b)

3 a^2 + 2 b + (2- 3 d) d == 2 a + 3 b^2

-4 b + 6 b^2 + 2c - 3 c^2 + d (-2 + 3 d)

-2 a + 3 a^2 + c- (3 c^2)/2 + d - (3 d^2)/2

-2 b + 3 b^2 + c- (3 c^2)/2 + 1/2 d (-2 + 3 d)

reduce[, , integers];

%[[3, 1, 1, 2]]

minimize[%, d]

3 a^2 + 3 b^2 +(2 - 3 c) c == 2 (a + b)

a (-2 + 3 a) + (2- 3 b) b + (2 - 3 d) d == 0

1/3 + 1/3 sqrt[-1- 6 d + 9 d^2]

}

演算法題解答

乙個二叉樹有2016個節點,最多有n個節點有2個子節點,求n並給出求導過程 給出一組一維座標如 ai,bi double型 程式設計算出覆蓋的長度,如 3,4 7,9 覆蓋長度為4 3 9 7 3 已知乙個一維陣列a,程式設計找出a i a i 1 a i 2 並計算時間複雜度 程式設計輸出任意正整...

LeetCode演算法題解答

leetcode演算法題解答 第四題 尋找兩個有序陣列的中位數 給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。def findmedianso...

1 7習題解答

根據自己的創作理念,結合市場調研得來的資料,參考開發人員的建議,在開發條件允許的基礎上,將遊戲創意以及遊戲內容和規則細化完整,形成策劃文件。同時,從設計遊戲大綱,發哦規劃所有細節重點,再到開發過程的全程協調與監控,都屬於工作範疇。1.喜歡玩遊戲,玩遊戲時有深度和廣度。自省 不是所有遊戲都喜歡,看型別...