我们都看到过单词的电话号码:1-800-BUY-MORE等.
您可以编写的最短代码是什么,它将为7位美国电话号码生成所有可能的单词组合.
输入将是一个七位整数(或字符串,如果这更简单),并假设输入正确形成.
输出将是七个字符的字符串列表
例如,数字428-5246将产生
GATJAGM
GATJAGN
GATJAGO
GATJAHM
GATJAHN
GATJAGO
GATJAIM
GATJAIN
GATJAIO等.....
获胜标准将是来自任何语言的代码,其中最少的字符产生每个可能的字母组合.
补充说明:
将输出识别为真实英语单词的奖励积分.好的,不是真的.;-)
补充:好的,让我们一起使用"Nick's Modified North American Classic Key Pad",它在6键上有一个'O'(哦,不是零).
以下Mathematica代码生成高度振荡的图.我只想绘制情节的下部包络但不知道如何.任何建议都值得赞赏.
tk0 = \[Theta]'[t]*\[Theta]'[t] - \[Theta][t]*\[Theta]''[t]
tk1 = \[Theta]''[t]*\[Theta]''[t] - \[Theta]'[t]*\[Theta]'''[t]
a = tk0/Sqrt[tk1]
f = Sqrt[tk1/tk0]
s =
NDSolve[{\[Theta]''[t] + \[Theta][t] - 0.167 \[Theta][t]^3 ==
0.005 Cos[t - 0.5*0.00009*t^2], \[Theta][0] == 0, \[Theta]'[0] ==
0}, \[Theta], {t, 0, 1000}]
Plot[Evaluate [f /. s], {t, 0, 1000},
Frame -> {True, True, False, False},
FrameLabel -> {"t", "Frequency"},
FrameStyle -> Directive[FontSize -> 15], Axes -> False]
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以从GraphPlot生成的图形的(FullForm或InputForm)中抽象出GraphPlot应用于VertexCoordinate规则的顶点顺序?我不想使用GraphUtilities函数VertexList.我也知道GraphCoordinates,但这两个函数都适用于图形,而不是GraphPlot的图形输出.
例如,
gr1 = {1 -> 2, 2 -> 3, 3 -> 4, 4 -> 5, 5 -> 6, 6 -> 1};
gp1 = GraphPlot[gr1, Method -> "CircularEmbedding",
VertexLabeling -> True];
Last@(gp1 /. Graphics[Annotation[x___], ___] :> {x})
Run Code Online (Sandbox Code Playgroud)
给出以下六个坐标对的列表:
VertexCoordinateRules - > {{2.,0.866025},{1.5,1.723205},{0.5,1.723205},{0.,0.866025},{0.5,1.3349*10 ^ -10},{1.5,0.}}
我如何知道哪个规则适用于哪个顶点,我可以确定这与VertexList [gr1]给出的规则相同吗?
例如
Needs["GraphUtilities`"];
gr2 = SparseArray@
Map[# -> 1 &, EdgeList[{2 -> 3, 3 -> 4, 4 -> 5, 5 -> 6}]];
VertexList[gr2]
Run Code Online (Sandbox Code Playgroud)
给出{1,2,3,4,5}
但......
gp2 = GraphPlot[gr2, VertexLabeling -> True,
VertexCoordinateRules ->
Thread[VertexList[gr1] -> …Run Code Online (Sandbox Code Playgroud) 我有一个图表作为执行ListPlot[]功能的结果.我可以通过将点移动到其他位置并使用绘图工具添加新点来手动编辑此图形.
如何从编辑的图形中获取新点和更改点的坐标?