相关疑难解决方法(0)

代码高尔夫:电话号码到单词

SO上的代码 - 高尔夫指南

我们都看到过单词的电话号码:1-800-BUY-MORE等.

您可以编写的最短代码是什么,它将为7位美国电话号码生成所有可能的单词组合.

输入将是一个七位整数(或字符串,如果这更简单),并假设输入正确形成.

输出将是七个字符的字符串列表

例如,数字428-5246将产生

GATJAGM
GATJAGN
GATJAGO
GATJAHM
GATJAHN
GATJAGO
GATJAIM
GATJAIN
GATJAIO等.....

获胜标准将是来自任何语言的代码,其中最少的字符产生每个可能的字母组合.

补充说明:

  • 为了使它更有趣,只能使用北美经典键盘手机上的字母形成单词,这里定义了每个数字三个字母.这意味着Z和Q被排除在外.
  • 对于数字'1',放一个空格.
  • 对于数字'0',加一个连字符' - '

将输出识别为真实英语单词的奖励积分.好的,不是真的.;-)

补充:好的,让我们一起使用"Nick's Modified North American Classic Key Pad",它在6键上有一个'O'(哦,不是零).

language-agnostic code-golf rosetta-stone

22
推荐指数
5
解决办法
2632
查看次数

mathematica包络检测数据平滑

以下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)

Mathematica图形

math wolfram-mathematica

10
推荐指数
2
解决办法
2704
查看次数

GraphPlot Graphic中的VertexCoordinate规则和VertexList

是否有任何方法可以从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)

wolfram-mathematica

5
推荐指数
2
解决办法
2235
查看次数

获取手动绘制点的坐标

我有一个图表作为执行ListPlot[]功能的结果.我可以通过将点移动到其他位置并使用绘图工具添加新点来手动编辑此图形.

如何从编辑的图形中获取新点和更改点的坐标?

wolfram-mathematica

4
推荐指数
1
解决办法
2077
查看次数