如何使用114514序列表示任意数字 |
您所在的位置:网站首页 › 400*11 › 如何使用114514序列表示任意数字 |
最近看到了一个1+1+4+514=520的整活,突然想到了这个题材。 目前我能够想到的生成方法主要有两种: 第一种方法、较长序列生成:众所周知,一个任意的数字都可以写成每一位数字乘以十的(i-1)次幂累加的结果(i为该数字位数),即 使用该公式,我们只需要用114514序列表示出0-10这11个数字即可用114514序列表示出任意一个数字,于是我们得到了如下程序: #include using namespace std; const string str_num[11] = { "((1-1)*4514)","(11/(45-1)*4)","(-11+4-5+14)","(11*-4+51-4)","(-11-4+5+14)","(11-4*5+14)","(1-14+5+14)","(11-4+5-1-4)","(11-4+5/1-4)","(11-4+5+1-4)","(-11/4+51/4)"}; long long Get_Digit(long long Temp) { if (!Temp) return 0; else return 1 + Get_Digit(Temp / 10); } string ANS = ""; string TO114514STR(long long Input) { long long n = Get_Digit(Input); string Num_Str = to_string(Input); string Temp_Str = "("; for (long long i = n; i; i--) { if (i > 11) { Temp_Str += "(" + str_num[Num_Str[n - i] - '0'] + "*" + str_num[10] + "^" + TO114514STR(i - 1) + ")"; if (i != 1) { Temp_Str += "+"; } } else { Temp_Str += "(" + str_num[Num_Str[n - i] - '0'] + "*" + str_num[10] + "^" + str_num[i - 1] + ")"; if (i != 1) { Temp_Str += "+"; } } } Temp_Str += ")"; return Temp_Str; } 由于浮点数数据类型精度的原因,该程序仅处理了整型数据,浮点数数据原理是一样的,大家可以自己编写程序解决。 现在我们来验证以上程序的正确性(借助Mathematica进行表达式运算) 输入:114514 114514得到114514 = (((11/(45-1)*4)*(-11/4+51/4)^(11-4*5+14))+((11/(45-1)*4)*(-11/4+51/4)^(-11-4+5+14))+((-11-4+5+14)*(-11/4+51/4)^(11*-4+51-4))+((11-4*5+14)*(-11/4+51/4)^(-11+4-5+14))+((11/(45-1)*4)*(-11/4+51/4)^(11/(45-1)*4))+((-11-4+5+14)*(-11/4+51/4)^((1-1)*4514))) 使用mathematica检验结果,结果正确 检验结果正确这次我们检验一个较大数据:LLONG_MAX LLONG_MAX得到结果任然正确。(负数只需要先转为正数后加上负号) 第二种方法、多次使用加法来达成缩短序列的效果:现在我们已经能够使用如上方法用一个114514序列来表示一个任意数字了,现在我们需要更进一步的来讨论如何尽可能的让这个序列变短。 于是我们可以想到如下方法:当我们处理一个非常长的数据的时候,我们可以先生成一个与之位数相同的114514序列,如1919810,我们会生成一个1145141,然后相减之得到774669,然后接上上一次的序列,生成一个145141,再次相减之,重复以上步骤多次后,我们会得到22999,但是我们下一次生成的序列为41145,两者相减明显为负数,违背了我们使用加法的原则,所以我们就生成比它少一位的序列,即4114,接着重复以上过程,直到我们得到了一个个位数字。 这个时候便会出现两种情况:第一种情况就是最后一次生成的序列走完了114514全程,如114515生成的序列为114514,留下一个个位数,走完了全程;或是接着倒数第二次生成的序列最后一次生成的序列走完了全程,如倒数第二次生成的是114,而最后一次生成的是514,留下了一个个位数,走完了全程。这种情况下我们直接用114514的序列将剩余的个位数字表示出,然后将以上所有生成的序列按照生成顺序累加即可获得结果。 第二种情况就是最后一次生成没有走完114514全程,如最后一次生成的为11451,剩下了一个个位数字,没有走完全程。这种情况我们需要强制让它走完全程,即将114514序列中剩余的数字逐个与之相减,以上面的例子来说,我们就需要用剩余的数字减去4,将剩余的个位数字用114514序列表示出来(如果为负数就加上负号即可);如果我们最后一次生成的序列为1145,则需要给剩余的个位数字减去1后减去4,然后表示之即可。 虽然以上的方法可以有效减少序列长度,但是我们不难发现,这个序列长度可以进一步缩短,我们可以发现,比起114开头的序列,514开头的序列更大一些,所以我们可以选择性的用514开头的序列代替114开头的序列,比如说数字600000,如果我们用114514这个序列与之相减,需要5次循环才可以让它的数位减少,但如果我们使用514114这个序列与之相减,只需执行两次即可使其数位减少,但是如果直接使用514114,有悖于我们使用114514序列的原则,没关系,我们只需要补全前面的114即可(即600000-114-514114)。 如果你以为这已经到达尽头,那你就大错特错了,我们可以使用加减乘除乘方指数对数混合运算的方式来进一步缩减序列长度,至于如何实现,原理与上面相同,这一部分的程序就不展示了,有兴趣的兄弟们可以自行尝试。(以上使用了最基础的数学原理,如果使用一些进阶数学原理可以得到更加简单的实现方式) 该方法同样可拓展至浮点数。 PS:通过以上原理以及一部分的数学运算基础,我们可以轻易的将其拓展至复数域甚至是四元数等。 更新:https://lab.magiconch.com/homo/的C++版本(使用了有序map) #include #include #include using namespace std; map Number = { {114514 , "114514"}, {58596 , "114*514"}, {49654 , "11*4514"}, {45804 , "11451*4"}, {23256 , "114*51*4"}, {22616 , "11*4*514"}, {19844 , "11*451*4"}, {16030 , "1145*14"}, {14515 , "1+14514"}, {14514 , "1*14514"}, {14513 , "-1+14514"}, {11455 , "11451+4"}, {11447 , "11451-4"}, {9028 , "(1+1)*4514"}, {8976 , "11*4*51*4"}, {7980 , "114*5*14"}, {7710 , "(1+14)*514"}, {7197 , "1+14*514"}, {7196 , "1*14*514"}, {7195 , "-1+14*514"}, {6930 , "11*45*14"}, {6682 , "(1-14)*-514"}, {6270 , "114*(51+4)"}, {5818 , "114*51+4"}, {5810 , "114*51-4"}, {5808 , "(1+1451)*4"}, {5805 , "1+1451*4"}, {5804 , "1*1451*4"}, {5803 , "-1+1451*4"}, {5800 , "(1-1451)*-4"}, {5725 , "1145*(1+4)"}, {5698 , "11*(4+514)"}, {5610 , "-11*(4-514)"}, {5358 , "114*(51-4)"}, {5005 , "11*(451+4)"}, {4965 , "11*451+4"}, {4957 , "11*451-4"}, {4917 , "11*(451-4)"}, {4584 , "(1145+1)*4"}, {4580 , "1145*1*4"}, {4576 , "(1145-1)*4"}, {4525 , "11+4514"}, {4516 , "1+1+4514"}, {4515 , "1+1*4514"}, {4514 , "1-1+4514"}, {4513 , "-1*1+4514"}, {4512 , "-1-1+4514"}, {4503 , "-11+4514"}, {4112 , "(1+1)*4*514"}, {3608 , "(1+1)*451*4"}, {3598 , "(11-4)*514"}, {3435 , "-1145*(1-4)"}, {3080 , "11*4*5*14"}, {3060 , "(11+4)*51*4"}, {2857 , "1+14*51*4"}, {2856 , "1*14*51*4"}, {2855 , "-1+14*51*4"}, {2850 , "114*5*(1+4)"}, {2736 , "114*(5+1)*4"}, {2652 , "(1-14)*51*-4"}, {2570 , "1*(1+4)*514"}, {2475 , "11*45*(1+4)"}, {2420 , "11*4*(51+4)"}, {2280 , "114*5*1*4"}, {2248 , "11*4*51+4"}, {2240 , "11*4*51-4"}, {2166 , "114*(5+14)"}, {2068 , "11*4*(51-4)"}, {2067 , "11+4*514"}, {2058 , "1+1+4*514"}, {2057 , "1/1+4*514"}, {2056 , "1/1*4*514"}, {2055 , "-1/1+4*514"}, {2054 , "-1-1+4*514"}, {2045 , "-11+4*514"}, {2044 , "(1+145)*14"}, {2031 , "1+145*14"}, {2030 , "1*145*14"}, {2029 , "-1+145*14"}, {2024 , "11*(45+1)*4"}, {2016 , "-(1-145)*14"}, {1980 , "11*45*1*4"}, {1936 , "11*(45-1)*4"}, {1848 , "(11+451)*4"}, {1824 , "114*(5-1)*4"}, {1815 , "11+451*4"}, {1808 , "1*(1+451)*4"}, {1806 , "1+1+451*4"}, {1805 , "1+1*451*4"}, {1804 , "1-1+451*4"}, {1803 , "1*-1+451*4"}, {1802 , "-1-1+451*4"}, {1800 , "1*-(1-451)*4"}, {1793 , "-11+451*4"}, {1760 , "-(11-451)*4"}, {1710 , "114*-5*(1-4)"}, {1666 , "(114+5)*14"}, {1632 , "(1+1)*4*51*4"}, {1542 , "1*-(1-4)*514"}, {1526 , "(114-5)*14"}, {1485 , "11*-45*(1-4)"}, {1456 , "1+1451+4"}, {1455 , "1*1451+4"}, {1454 , "-1+1451+4"}, {1448 , "1+1451-4"}, {1447 , "1*1451-4"}, {1446 , "-1+1451-4"}, {1428 , "(11-4)*51*4"}, {1386 , "11*(4+5)*14"}, {1260 , "(1+1)*45*14"}, {1159 , "1145+14"}, {1150 , "1145+1+4"}, {1149 , "1145+1*4"}, {1148 , "1145-1+4"}, {1142 , "1145+1-4"}, {1141 , "1145-1*4"}, {1140 , "(1145-1)-4"}, {1131 , "1145-14"}, {1100 , "11*4*5*(1+4)"}, {1056 , "11*4*(5+1)*4"}, {1050 , "(11+4)*5*14"}, {1036 , "(1+1)*(4+514)"}, {1026 , "114*-(5-14)"}, {1020 , "1*(1+4)*51*4"}, {981 , "1+14*5*14"}, {980 , "1*14*5*14"}, {979 , "-1+14*5*14"}, {910 , "-(1-14)*5*14"}, {906 , "(1+1)*451+4"}, {898 , "(1+1)*451-4"}, {894 , "(1+1)*(451-4)"}, {880 , "11*4*5*1*4"}, {836 , "11*4*(5+14)"}, {827 , "11+4*51*4"}, {825 , "(11+4)*(51+4)"}, {818 , "1+1+4*51*4"}, {817 , "1*1+4*51*4"}, {816 , "1*1*4*51*4"}, {815 , "-1+1*4*51*4"}, {814 , "-1-1+4*51*4"}, {805 , "-11+4*51*4"}, {784 , "(11+45)*14"}, {771 , "1+14*(51+4)"}, {770 , "1*14*(51+4)"}, {769 , "(11+4)*51+4"}, {761 , "(1+14)*51-4"}, {730 , "(1+145)*(1+4)"}, {726 , "1+145*(1+4)"}, {725 , "1*145*(1+4)"}, {724 , "-1-145*-(1+4)"}, {720 , "(1-145)*-(1+4)"}, {719 , "1+14*51+4"}, {718 , "1*14*51+4"}, {717 , "-1-14*-51+4"}, {715 , "(1-14)*-(51+4)"}, {711 , "1+14*51-4"}, {710 , "1*14*51-4"}, {709 , "-1+14*51-4"}, {705 , "(1+14)*(51-4)"}, {704 , "11*4*(5-1)*4"}, {688 , "114*(5+1)+4"}, {680 , "114*(5+1)-4"}, {667 , "-(1-14)*51+4"}, {660 , "(114+51)*4"}, {659 , "1+14*(51-4)"}, {658 , "1*14*(51-4)"}, {657 , "-1+14*(51-4)"}, {649 , "11*(45+14)"}, {644 , "1*(1+45)*14"}, {641 , "11+45*14"}, {632 , "1+1+45*14"}, {631 , "1*1+45*14"}, {630 , "1*1*45*14"}, {629 , "1*-1+45*14"}, {628 , "114+514"}, {619 , "-11+45*14"}, {616 , "1*-(1-45)*14"}, {612 , "-1*(1-4)*51*4"}, {611 , "(1-14)*-(51-4)"}, {609 , "11*(4+51)+4"}, {601 , "11*(4+51)-4"}, {595 , "(114+5)*(1+4)"}, {584 , "114*5+14"}, {581 , "1+145*1*4"}, {580 , "1*145/1*4"}, {579 , "-1+145*1*4"}, {576 , "1*(145-1)*4"}, {575 , "114*5+1+4"}, {574 , "114*5/1+4"}, {573 , "114*5-1+4"}, {567 , "114*5+1-4"}, {566 , "114*5*1-4"}, {565 , "114*5-1-4"}, {561 , "11/4*51*4"}, {560 , "(1+1)*4*5*14"}, {558 , "11*4+514"}, {556 , "114*5-14"}, {545 , "(114-5)*(1+4)"}, {529 , "1+14+514"}, {528 , "1*14+514"}, {527 , "-1+14+514"}, {522 , "(1+1)*4+514"}, {521 , "11-4+514"}, {520 , "1+1+4+514"}, {519 , "1+1*4+514"}, {518 , "1-1+4+514"}, {517 , "-1+1*4+514"}, {516 , "-1-1+4+514"}, {514 , "(1-1)/4+514"}, {513 , "-11*(4-51)-4"}, {512 , "1+1-4+514"}, {511 , "1*1-4+514"}, {510 , "1-1-4+514"}, {509 , "11*45+14"}, {508 , "-1-1-4+514"}, {507 , "-11+4+514"}, {506 , "-(1+1)*4+514"}, {502 , "11*(45+1)-4"}, {501 , "1-14+514"}, {500 , "11*45+1+4"}, {499 , "11*45*1+4"}, {498 , "11*45-1+4"}, {495 , "11*(4+5)*(1+4)"}, {492 , "11*45+1-4"}, {491 , "11*45-1*4"}, {490 , "11*45-1-4"}, {488 , "11*(45-1)+4"}, {481 , "11*45-14"}, {480 , "11*(45-1)-4"}, {476 , "(114+5)/1*4"}, {470 , "-11*4+514"}, {466 , "11+451+4"}, {460 , "114*(5-1)+4"}, {458 , "11+451-4"}, {457 , "1+1+451+4"}, {456 , "1*1+451+4"}, {455 , "1-1+451+4"}, {454 , "-1+1*451+4"}, {453 , "-1-1+451+4"}, {452 , "114*(5-1)-4"}, {450 , "(1+1)*45*(1+4)"}, {449 , "1+1+451-4"}, {448 , "1+1*451-4"}, {447 , "1/1*451-4"}, {446 , "1*-1+451-4"}, {445 , "-1-1+451-4"}, {444 , "-11+451+4"}, {440 , "(1+1)*4*(51+4)"}, {438 , "(1+145)*-(1-4)"}, {436 , "-11+451-4"}, {435 , "-1*145*(1-4)"}, {434 , "-1-145*(1-4)"}, {432 , "(1-145)*(1-4)"}, {412 , "(1+1)*4*51+4"}, {404 , "(1+1)*4*51-4"}, {400 , "-114+514"}, {396 , "11*4*-(5-14)"}, {385 , "(11-4)*(51+4)"}, {376 , "(1+1)*4*(51-4)"}, {375 , "(1+14)*5*(1+4)"}, {368 , "(1+1)*(45+1)*4"}, {363 , "(1+1451)/4"}, {361 , "(11-4)*51+4"}, {360 , "(1+1)*45*1*4"}, {357 , "(114+5)*-(1-4)"}, {353 , "(11-4)*51-4"}, {352 , "(1+1)*(45-1)*4"}, {351 , "1+14*-5*-(1+4)"}, {350 , "1*(1+4)*5*14"}, {349 , "-1+14*5*(1+4)"}, {341 , "11*(45-14)"}, {337 , "1-14*-(5+1)*4"}, {336 , "1*14*(5+1)*4"}, {335 , "-1+14*(5+1)*4"}, {329 , "(11-4)*(51-4)"}, {327 , "-(114-5)*(1-4)"}, {325 , "-(1-14)*5*(1+4)"}, {318 , "114+51*4"}, {312 , "(1-14)*-(5+1)*4"}, {300 , "(11+4)*5/1*4"}, {297 , "-11*(4+5)*(1-4)"}, {291 , "11+4*5*14"}, {286 , "(1145-1)/4"}, {285 , "(11+4)*(5+14)"}, {282 , "1+1+4*5*14"}, {281 , "1+14*5/1*4"}, {280 , "1-1+4*5*14"}, {279 , "1*-1+4*5*14"}, {278 , "-1-1+4*5*14"}, {275 , "1*(1+4)*(51+4)"}, {270 , "(1+1)*45*-(1-4)"}, {269 , "-11+4*5*14"}, {268 , "11*4*(5+1)+4"}, {267 , "1+14*(5+14)"}, {266 , "1*14*(5+14)"}, {265 , "-1+14*(5+14)"}, {260 , "1*(14+51)*4"}, {259 , "1*(1+4)*51+4"}, {257 , "(1+1)/4*514"}, {252 , "(114-51)*4"}, {251 , "1*-(1+4)*-51-4"}, {248 , "11*4+51*4"}, {247 , "-(1-14)*(5+14)"}, {240 , "(11+4)*(5-1)*4"}, {236 , "11+45*(1+4)"}, {235 , "1*(1+4)*(51-4)"}, {234 , "11*4*5+14"}, {231 , "11+4*(51+4)"}, {230 , "1*(1+45)*(1+4)"}, {229 , "1145/(1+4)"}, {227 , "1+1+45*(1+4)"}, {226 , "1*1+45*(1+4)"}, {225 , "11*4*5+1+4"}, {224 , "11*4*5/1+4"}, {223 , "11*4*5-1+4"}, {222 , "1+1+4*(51+4)"}, {221 , "1/1+4*(51+4)"}, {220 , "1*1*(4+51)*4"}, {219 , "1+14+51*4"}, {218 , "1*14+51*4"}, {217 , "11*4*5+1-4"}, {216 , "11*4*5-1*4"}, {215 , "11*4*5-1-4"}, {214 , "-11+45*(1+4)"}, {212 , "(1+1)*4+51*4"}, {211 , "11-4+51*4"}, {210 , "1+1+4+51*4"}, {209 , "1+1*4*51+4"}, {208 , "1*1*4+51*4"}, {207 , "-1+1*4*51+4"}, {206 , "11*4*5-14"}, {204 , "(1-1)/4+51*4"}, {202 , "1+1-4+51*4"}, {201 , "1/1-4+51*4"}, {200 , "1/1*4*51-4"}, {199 , "1*-1+4*51-4"}, {198 , "-1-1+4*51-4"}, {197 , "-11+4+51*4"}, {196 , "-(1+1)*4+51*4"}, {195 , "(1-14)*5*(1-4)"}, {192 , "(1+1)*4*(5+1)*4"}, {191 , "1-14+51*4"}, {190 , "1*-14+51*4"}, {189 , "-11-4+51*4"}, {188 , "1-1-(4-51)*4"}, {187 , "1/-1+4*(51-4)"}, {186 , "1+1+(45+1)*4"}, {185 , "1-1*-(45+1)*4"}, {184 , "114+5*14"}, {183 , "-1+1*(45+1)*4"}, {182 , "1+1+45/1*4"}, {181 , "1+1*45*1*4"}, {180 , "1*1*45*1*4"}, {179 , "-1/1+45*1*4"}, {178 , "-1-1+45*1*4"}, {177 , "1+1*(45-1)*4"}, {176 , "1*1*(45-1)*4"}, {175 , "-1+1*(45-1)*4"}, {174 , "-1-1+(45-1)*4"}, {172 , "11*4*(5-1)-4"}, {171 , "114*(5+1)/4"}, {170 , "(11-45)*-(1+4)"}, {169 , "114+51+4"}, {168 , "(11+45)*-(1-4)"}, {165 , "11*-45/(1-4)"}, {161 , "114+51-4"}, {160 , "1+145+14"}, {159 , "1*145+14"}, {158 , "-1+145+14"}, {157 , "1*(1-4)*-51+4"}, {154 , "11*(4-5)*-14"}, {152 , "(1+1)*4*(5+14)"}, {151 , "1+145+1+4"}, {150 , "1+145*1+4"}, {149 , "1*145*1+4"}, {148 , "1*145-1+4"}, {147 , "-1+145-1+4"}, {146 , "11+45*-(1-4)"}, {143 , "1+145+1-4"}, {142 , "1+145*1-4"}, {141 , "1+145-1-4"}, {140 , "1*145-1-4"}, {139 , "-1+145-1-4"}, {138 , "-1*(1+45)*(1-4)"}, {137 , "1+1-45*(1-4)"}, {136 , "1*1-45*(1-4)"}, {135 , "-1/1*45*(1-4)"}, {134 , "114+5/1*4"}, {133 , "114+5+14"}, {132 , "1+145-14"}, {131 , "1*145-14"}, {130 , "-1+145-14"}, {129 , "114+5*-(1-4)"}, {128 , "1+1+(4+5)*14"}, {127 , "1-14*(5-14)"}, {126 , "1*(14-5)*14"}, {125 , "-1-14*(5-14)"}, {124 , "114+5+1+4"}, {123 , "114-5+14"}, {122 , "114+5-1+4"}, {121 , "11*(45-1)/4"}, {120 , "-(1+1)*4*5*(1-4)"}, {118 , "(1+1)*(45+14)"}, {117 , "(1-14)*(5-14)"}, {116 , "114+5+1-4"}, {115 , "114+5*1-4"}, {114 , "11*4+5*14"}, {113 , "114-5/1+4"}, {112 , "114-5-1+4"}, {111 , "11+4*5*(1+4)"}, {110 , "-(11-451)/4"}, {107 , "11-4*-(5+1)*4"}, {106 , "114-5+1-4"}, {105 , "114+5-14"}, {104 , "114-5-1-4"}, {103 , "11*(4+5)+1*4"}, {102 , "11*(4+5)-1+4"}, {101 , "1+1*4*5*(1+4)"} }; map Number_Temp = { {100 , "1*(1+4)*5*1*4"}, {99 , "11*4+51+4"}, {98 , "1+1+4*(5+1)*4"}, {97 , "1+1*4*(5+1)*4"}, {96 , "11*(4+5)+1-4"}, {95 , "114-5-14"}, {94 , "114-5/1*4"}, {93 , "(1+1)*45-1+4"}, {92 , "(1+1)*(45-1)+4"}, {91 , "11*4+51-4"}, {90 , "-114+51*4"}, {89 , "(1+14)*5+14"}, {88 , "1*14*(5+1)+4"}, {87 , "11+4*(5+14)"}, {86 , "(1+1)*45*1-4"}, {85 , "1+14+5*14"}, {84 , "1*14+5*14"}, {83 , "-1+14+5*14"}, {82 , "1+1+4*5/1*4"}, {81 , "1/1+4*5*1*4"}, {80 , "1-1+4*5*1*4"}, {79 , "1*-1+4*5/1*4"}, {78 , "(1+1)*4+5*14"}, {77 , "11-4+5*14"}, {76 , "1+1+4+5*14"}, {75 , "1+14*5*1+4"}, {74 , "1/1*4+5*14"}, {73 , "1*14*5-1+4"}, {72 , "-1-1+4+5*14"}, {71 , "(1+14)*5-1*4"}, {70 , "11+45+14"}, {69 , "1*14+51+4"}, {68 , "1+1-4+5*14"}, {67 , "1-1*4+5*14"}, {66 , "1*14*5-1*4"}, {65 , "1*14*5-1-4"}, {64 , "11*4+5*1*4"}, {63 , "11*4+5+14"}, {62 , "1+14+51-4"}, {61 , "1+1+45+14"}, {60 , "11+45*1+4"}, {59 , "114-51-4"}, {58 , "-1+1*45+14"}, {57 , "1+14*5-14"}, {56 , "1*14*5-14"}, {55 , "-1+14*5-14"}, {54 , "11-4+51-4"}, {53 , "11+45+1-4"}, {52 , "11+45/1-4"}, {51 , "11+45-1-4"}, {50 , "1+1*45/1+4"}, {49 , "1*1*45/1+4"}, {48 , "-11+45+14"}, {47 , "1/-1+45-1+4"}, {46 , "11*4+5+1-4"}, {45 , "11+4*5+14"}, {44 , "114-5*14"}, {43 , "1+1*45+1-4"}, {42 , "11+45-14"}, {41 , "1/1*45*1-4"}, {40 , "-11+4*51/4"}, {39 , "-11+45+1+4"}, {38 , "-11+45*1+4"}, {37 , "-11+45-1+4"}, {36 , "11+4*5+1+4"}, {35 , "11*4+5-14"}, {34 , "1-14+51-4"}, {33 , "1+1+45-14"}, {32 , "1*1+45-14"}, {31 , "1/1*45-14"}, {30 , "1*-1+45-14"}, {29 , "-11+45-1-4"}, {28 , "11+4*5+1-4"}, {27 , "11+4*5/1-4"}, {26 , "11-4+5+14"}, {25 , "11*4-5-14"}, {24 , "1+14-5+14"}, {23 , "1*14-5+14"}, {22 , "1*14+5-1+4"}, {21 , "-1-1+4+5+14"}, {20 , "-11+45-14"}, {19 , "1+1+4*5+1-4"}, {18 , "1+1+4*5*1-4"}, {17 , "11+4*5-14"}, {16 , "11-4-5+14"}, {15 , "1+14-5+1+4"}, {14 , "11+4-5/1+4"}, {13 , "1*14-5/1+4"}, {12 , "-11+4+5+14"}, {11 , "11*-4+51+4"}, {10 , "-11/4+51/4"}, {9 , "11-4+5+1-4"}, {8 , "11-4+5/1-4"}, {7 , "11-4+5-1-4"}, {6 , "1-14+5+14"}, {5 , "11-4*5+14"}, {4 , "-11-4+5+14"}, {3 , "11*-4+51-4"}, {2 , "-11+4-5+14"}, {1 , "11/(45-1)*4"}, {0 , "(1-1)*4514"} }; long long find_max_number(long long input) { for (auto it : Number) { if (input >= it.first)return it.first; } } string To114514(long long input) { if (input < 0) return "-1*" + To114514(-1 * input); if (Number.count(input)) return Number[input]; long long Temp = find_max_number(input); return "(" + Number[Temp] + ")*(" + To114514(input / Temp) + ")+(" + To114514(input % Temp) + ")"; } int main() { Number.insert(Number_Temp.begin(), Number_Temp.end()); ////////////////////////////////////////////////////// cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |