Alivehyperfish/Constants

From Esolang
Jump to navigation Jump to search
Back to Alivehyperfish

Those are the shortest form to generate a constant, inspired by Deadfish/Constants.

    0
    1             idd
    2           iddir
    3            dsdd
    4              id
    5           iddid
    6             dsd
    7               i
    8            iddi
    9              ds
   10           dsddi
   11             idi
   12          iddidi
   13            dsdi
   14              ii
   15           iddii
   16             ids
   17          dsddii
   18            idii
   19         iddidii
   20           dsdii
   21             iii
   22          iddiii
   23            idsi
   24         dsddiii
   25           idiii
   26         dssssir
   27          dsdiii
   28            iiii
   29         iddiiii
   30           idsii
   31           ddssd
   32          idiiii
   33            ddsd
   34            ddss
   35           iiiii
   36             dds
   37          idsiii
   38          ddssdi
   39          iddidr
   40           ddsdi
   41           ddssi
   42          iiiiii
   43            ddsi
   44         idsiiii
   45         ddssdii
   46             isd
   47          ddsdii
   48          ddssii
   49              is
   50           ddsii
   51         ddddsdr
   52         idsisdr
   53            isdi
   54         ddsdiii
   55         ddssiii
   56             isi
   57          ddsiii
   58          iiirss
   59          iiirsd
   60           isdii
   61          iddisd
   62           iiirs
   63            isii
   64           iddis
   65         iiirssi
   66         iiirsdi
   67          isdiii
   68          iisisr
   69          iiirsi
   70           isiii
   71          iddisi
   72          dssddd
   73         idiisdr
   74         isdiiii
   75           dssdd
   76         iiirsii
   77          isiiii
   78            dssd
   79          issdrd
   80         issdsrd
   81             dss
   82           issdr
   83          issdsr
   84         isiiiii
   85           dssdi
   86         issdrdi
   87        issdsrdi
   88            dssi
   89          issdri
   90         issdsri
   91         iiirdir
   92           ddssr
   93        issdrdii
   94         ddsiiis
   95           dssii
   96         issdrii
   97          ddrsrr
   98          issdsd
   99          ddssri
  100          dsddis
  101           issds
  102          dssiii
  103         ddrsird
  104         ddrsrri
  105          issdss
  106          ddrsir
  107         idsiiis
  108          issdsi
  109         dssiiii
  110        ddrsirdi
  111         ddrsrir
  112         issdssi
  113         ddrsiri
  114        idsiiisi
  115          idisdd
  116         ddrsrsr
  117         idisiir
  118           idisd
  119        issdssii
  120        ddrsirii
  121            idis
  122         idisddi
  123         ddssiir
  124         ddsirdr
  125          idisdi
  126         ddrsirr
  127         iiissdd
  128           idisi
  129        idisddii
  130          iiissd
  131         iiiirdd
  132         idisdii
  133           iiiss
  134          iiiird
  135          idisii
  136         dssddds
  137           iiiir
  138         ddddsdd
  139         issdsrr
  140          iiissi
  141          ddddsd
  142         idisiii
  143         issisis
  144           dddds
  145          isssss
  146        idsiiiir
  147          iiirdd
  148          ddsrdd
  149         isdssis
  150           iiird
  151           ddsrd
  152         isssssi
  153            iiir
  154            ddsr
  155         iiirdds
  156        isdssisi
  157          iiirdi
  158          ddsrdi
  159         dsdrdss
  160           iiiri
  161           ddsri
  162        iiirddsi
  163          iisirs
  164         iiirdii
  165         ddsrdii
  166          dsdisd
  167          iiirii
  168          ddsrii
  169           dsdis
  170           ddrss
  171        iiirdiii
  172           dssis
  173          ddrddd
  174         iiiriii
  175         ddsriii
  176           ddrdd
  177          ddrssi
  178         ddrssrs
  179            ddrd
  180          isiisd
  181        iiiriiii
  182             ddr
  183           isiis
  184         ddrssii
  185        ddrssrsi
  186           ddrdi
  187          iiirdr
  188         dssiisd
  189            ddri
  190           iisdd
  191          dssiis
  192        idiiirsd
  193            iisd
  194           iisis
  195         idiiirs
  196             iis
  197          iisddi
  198         dssiisi
  199         issisdd
  200           iisdi
  201          iisisi
  202          issisd
  203            iisi
  204          iisddr
  205           issis
  206        issisddi
  207          iisdii
  208         iisisii
  209         iiirsss
  210           iisii
  211         iisddri
  212          issisi
  213         ddddird
  214         iisdiii
  215        iisisiii
  216          ddddir
  217          iisiii
  218        iisddrii
  219         isiisds
  220           isdsd
  221        iisdiiii
  222          issssd
  223            isds
  224         iisiiii
  225           issss
  226        isiisdsi
  227          isdsdi
  228         issdiss
  229         issssdi
  230           isdsi
  231        iisiiiii
  232          issssi
  233       isiisdsii
  234         isdsdii
  235          issdds
  236        issssdii
  237          isdsii
  238        ddrsrddd
  239         issssii
  240        iisirddd
  241         ddrsrdd
  242         issddsi
  243         iisirdd
  244          ddrsrd
  245          dsssdd
  246          iisird
  247           ddrsr
  248           dsssd
  249           iisir
  250          idssdd
  251            dsss
  252         dsssddi
  253           idssd
  254          ddrsri
  255          dsssdi
  256            idss
  257         idssddi
  258           dsssi
  259          idiiir
  260          idssdi
  261          ddssrs
  262         dsssdii
  263           idssi
  264         iiirdrs
  265          dsssii
  266         idiiiri
  267         idssdii
  268         ddssrsi
  269          idsiis
  270          idssii
  271        iiirdrsi
  272          dsdrrd
  273        idiiirii
  274        iisiiiir
  275           dsdrr
  276         idsiisi
  277         idssiii
  278           ddsdr
  279          issdis
  280       idiiiriii
  281         dssdisd
  282          dsdrri
  283        idsiisii
  284          dssdis
  285           isdis
  286         issdisi
  287       issdssiir
  288         issdssr
  289         dsddiis
  290        isiisdsr
  291         dssdisi
  292          isdisi
  293         iisddrr
  294         dsssdsd
  295        issdssri
  296        dsddiisi
  297          dsssds
  298         issdsss
  299         isdisii
  300        iisddrri
  301        dsssdsdi
  302          ddsdrs
  303         ddrsddd
  304         dsssdsi
  305         idsissd
  306          ddrsdd
  307         iddissd
  308          idsiss
  309           ddrsd
  310          iddiss
  311        dsssdsii
  312            ddrs
  313         ddrsddi
  314        ddrsddds
  315         idsissi
  316          ddrsdi
  317         iddissi
  318         iisddis
  319           ddrsi
  320          ddrssr
  321          idiisd
  322         ddssdir
  323         ddrsdii
  324           idiis
  325        iisddisi
  326          ddrsii
  327         ddrssri
  328         issddss
  329          ddsrrd
  330          ddssds
  331          idiisi
  332           ddsrr
  333         ddrsiii
  334        ddrssrii
  335          isisss
  336          ddrdsr
  337         ddssdsi
  338          ddsdis
  339          ddsrri
  340         ddsdrss
  341        iiirsisd
  342         isisssi
  343         ddrdsri
  344         iiirsis
  345         ddsdisi
  346         ddsrrii
  347          dsssir
  348        ddrsiiir
  349         issdris
  350        ddrdsrii
  351        iisddris
  352        ddsdisii
  353        ddsrriii
  354         dsssiri
  355         ddsrdis
  356        iisisiis
  357         iiirisd
  358          isissd
  359        isssddrd
  360          iiiris
  361           isiss
  362         isssddr
  363         ddsrsdd
  364        iisdiiis
  365         isissdi
  366          ddsrsd
  367         iiirisi
  368          isissi
  369           ddsrs
  370         ddsirdd
  371          dsdrdd
  372        isissdii
  373          ddsird
  374           dsdrd
  375         isissii
  376           ddsir
  377            dsdr
  378         ddsdisr
  379          ississ
  380         ddsirdi
  381          dsdrdi
  382          ddrisd
  383          ddsiri
  384           dsdri
  385           ddris
  386         ississi
  387         idssisd
  388         dsdrdii
  389         ddrisdi
  390          idssis
  391          dsdrii
  392          ddrisi
  393         idiiiis
  394        iiirdiis
  395         iisiiis
  396        ddrisdii
  397         idssisi
  398         idiisis
  399         ddrisii
  400          dsdiis
  401        ississsd
  402          dssdsd
  403        iiirdrrd
  404         ississs
  405           dssds
  406         iiirdrr
  407          iisiss
  408        ddssiisd
  409         dssdsdi
  410         ddrssis
  411         ddssiis
  412          dssdsi
  413        ddrssiis
  414          issdrs
  415          iiirds
  416         ddssisd
  417        ddrssisi
  418         isdsdis
  419          ddssis
  420         issisds
  421         issdrsi
  422         iiirdsi
  423         dsdisds
  424        idsiissd
  425          dsdrds
  426         ddssisi
  427         idsiiss
  428        isdiiiis
  429        iiirdsii
  430          ddsrrs
  431       idsiissdi
  432         dsdrdsi
  433          ddrsrs
  434        idsiissi
  435          iiisdd
  436       iiirdsiii
  437         ddsrrsi
  438           iiisd
  439        iiirssis
  440         ddrsrsi
  441            iiis
  442         iiisddi
  443       isisssssd
  444          isdsds
  445          isdiis
  446        isisssss
  447        ddrsrsii
  448           iiisi
  449        iiisddii
  450         ddsrdds
  451         isdsdsi
  452         isdiisi
  453       isisssssi
  454         isdissd
  455          iiisii
  456        idsiisis
  457          isdiss
  458           ddsds
  459        isdiisii
  460         ddsriis
  461        isdissdi
  462         iiisiii
  463       idsiisisi
  464         isdissi
  465          ddsdsi
  466       isdiisiii
  467         iiiirsd
  468       isdissdii
  469        iiisiiii
  470          iiiirs
  471        isdissii
  472         ddsdsii
  473      isdiisiiii
  474        iiiirsdi
  475       idisdisdd
  476       iiisiiiii
  477         iiiirsi
  478        idisdisd
  479        issisdds
  480         isiiisd
  481         idisdis
  482        ddrdsddd
  483          isiiis
  484          isisds
  485         ddrdsdd
  486       issisddsi
  487        isiiisdi
  488          ddrdsd
  489       ddrdsdddi
  490         isiiisi
  491           ddrds
  492        ddrdsddi
  493         ddsrssd
  494         iiissds
  495         ddrdsdi
  496          ddsrss
  497        isiiisii
  498          ddrdsi
  499          issddd
  500         dsssdss
  501        ddssiiis
  502           issdd
  503         ddsrssi
  504       isiiisiii
  505            issd
  506         issdddi
  507        dsssdssi
  508             iss
  509          issddi
  510        ddsrssii
  511           isdss
  512           issdi
  513        ddrsirds
  514         dssiiss
  515            issi
  516         issddii
  517        issiisdd
  518          isdssi
  519          issdii
  520         issiisd
  521        ddssrsis
  522           issii
  523          issiis
  524         isdsisd
  525           ddsss
  526          idsisd
  527          isdsis
  528        issdsris
  529           idsis
  530         issiisi
  531        isdsisdi
  532           dssss
  533         idsisdi
  534         isdsisi
  535         dsddiss
  536          dsdrrs
  537         idsssdd
  538         isissss
  539          dssssi
  540          idsssd
  541         ddddssd
  542        dsddissi
  543           idsss
  544          ddddss
  545        isissssi
  546         dssssii
  547         idsssdi
  548        ddddssdi
  549       dsddissii
  550          idsssi
  551         ddddssi
  552        issdiisd
  553           iissd
  554        idsssdii
  555         issdiis
  556            iiss
  557         idisiis
  558          dssiss
  559        issdrdsd
  560          iissdi
  561          iisiis
  562         issdrds
  563           iissi
  564        idisiisi
  565         dssissi
  566         iddisds
  567         iissdii
  568         iisiisi
  569        issdrdsi
  570          iissii
  571          ddriss
  572         iisdiis
  573        iddisdsi
  574          iisssd
  575         ddrsrrs
  576         ddsiiss
  577           iisss
  578         ddrdsrs
  579         issdsrs
  580        ddsrddss
  581         iisssdi
  582        ddrsrrsi
  583        ddsiissi
  584          iisssi
  585        ddrdsrsi
  586        issdsrsi
  587           ddsis
  588        iisssdii
  589       ddrsrrsii
  590        ddddirsd
  591         iisssii
  592       ddrdsrsii
  593         ddddirs
  594          iiiiis
  595       iisssdiii
  596          dssdss
  597       ddddirsdi
  598        iisssiii
  599       idisddsdd
  600        ddddirsi
  601         iisddrs
  602        idisddsd
  603         dssdssi
  604         ddssrss
  605         idisdds
  606          isisdd
  607          ddsiis
  608        iisddrsi
  609           isisd
  610          isssdd
  611        ddssrssi
  612            isis
  613           isssd
  614         ddsiisi
  615       iisddrsii
  616            isss
  617         isssddi
  618        iiirisds
  619            dddd
  620          isssdi
  621        ddsiisii
  622             ddd
  623           isssi
  624         iddisis
  625              dd
  626           ddddi
  627         isssdii
  628               d
  629            iddd
  630          iddird

Generator:

# This code is used to find the shortest way to
# generate a constant in AliveHyperFish.
def cubic_root(n):
    for i in range(631):
        if i*i*i % 631 == n:
            return i
# it's better to use array to store the result of and cubic_root(n)
# to avoid recalculating them every time we need them.
cubrt_arr = []
for i in range(631):
    cubrt_arr.append(cubic_root(i))

# yet the most efficient way, makes sure it's the shortest way to generate a constant, and is O(n)
result = ["Unknown"] * 631
result[0] = ""

# Whoa! This function is a BFS but i've never learned BFS before! (AI discovered it)
def explore():
    copyres = list(result) # make a copy of the result list to avoid making 2 operations at the same time
    for i in range(631):
        if result[i] == "Unknown": continue
        for j in range(4):
            now = 0
            char = ""
            if j == 0:
                now = (i + 7) % 631
                char = "i"
            elif j == 1:
                now = (i + 628) % 631 # -3 is equivalent to 628
                char = "d"
            elif j == 2:
                now = (i * i) % 631
                char = "s"
            else:
                now = cubrt_arr[i]
                char = "r"
                if now == None: continue # Some numbers don't have a cubic root
            if copyres[now] == "Unknown":
                copyres[now] = result[i] + char
                # print("%d:\t%s" % (now, copyres[now]))
    for i in range(631):
        if result[i] == "Unknown" and copyres[i] != "Unknown":
            result[i] = copyres[i]

for i in range(631):
    while result[i] == "Unknown":
        explore()
    print(str(i).rjust(5), result[i].rjust(15))