在我的经济学课上,我和我的朋友们想出了一些方法来重新排列日期(以MM / DD / YY格式)中的数字,以创建有效的数学方程式。在大多数情况下,除级联外,我们还可以使用加,减,乘,除,括号和幂运算。
您的程序应该执行类似的操作。该程序应导入当前日期并插入运算符以根据以下规则打印表达式。
- 必须按顺序使用数字。不允许重新排列数字。
- 结果表达式必须在数学上准确。
- 允许加,减,乘,除,取幂和使用括号。数字的串联也是如此。但是,并非所有操作都是必需的。您不能使用减号使数字为负(例如
-1+1+11=10
2010年11月11日)。 - 该程序必须在标准计算机上运行60秒。
例如,此挑战写于2015年11月10日。程序会将其解释为11/10/15。样本输出为(1+1)/10=1/5
。
奖金
对于程序支持的以下每个选项,您可以将代码中的字节数乘以0.9。
- 该程序将打印所有可能形成的表达式,并用换行符分隔。如果以附加符号的升序列出表达式,则再乘以0.95。
- 该程序还适用于MM / DD / YYYY日期,除了可能的日期外,还可以打印年份的前两位数字。如果该奖金与第一笔奖金相结合,则必须打印出该年份的前两位数字的所有可能性。
- 该方案还打印当有多个等式用于方程(例如,11月11日,2011,
1=1=1=1=1=1
将被印刷的,除了可能性,例如1*1=1=1=1=1
,1*1*1=1=1=1
,和1*1*1*1=1=1
。所有这样的情况下必须打印为所要达到的第一奖励。 - 该程序支持转换为2到16之间的基数。请注意,如果基数不是10,则表达式中的所有数字都必须以相同的基数
(Base b)
编写,并且必须在表达式之后编写(并相应地b
替换)。
这是代码高尔夫球,因此适用标准规则。以字节为单位的最短代码获胜。
1
允许什么操作?
—
anOKsquirrel
@FryAmTheEggman是否存在足够的相似性以将其称为重复项?我不这么认为,因为此挑战不只使用一位数字,也不在意特定的RHS(仅相等)。
—
Arcturus
DD / MM / YYYY> MM / DD / YYYY。
—
orlp
我认为您想在写表达式的问题中使用方程式(表达式只是方程式的一侧,然后您的问题就没有意义了)。
—
圣保罗Ebermann
在任何给定日期都可以证明这一点吗?
—
扎克·盖茨