[Question]
  [
# Task
Given a positive integer return the geologic era and period it was that many million years ago.
## Input/output
The input is a string or integer; the output is a string. Eras and periods are separated by slashes (`/`). Input will always be between `0` and `542` inclusive
# Data
The possible outputs for eras and periods and their corresponding time periods (in millions of years) are:
* **Cenozoic** 0 - 66
	+ **Quaternary** 0 - 3
	+ **Neogene** 4 - 23
	+ **Paleogene** 24 - 66
* **Mesozoic** 67 - 252
	+ **Cretaceous** 67 - 145
	+ **Jurassic** 146 - 201
	+ **Triassic** 202 - 252
* **Paleozoic** 253 - 542
	+ **Permian** 253 - 299
	+ **Carboniferous** 300 - 359
	+ **Devonian** 360 - 419
	+ **Silurian** 420 - 444
	+ **Ordovician** 445 - 485
	+ **Cambrian** 486 - 542
Submissions will be scored by byte count. Lowest byte count wins.
# Test cases
```
314 -> Paleozoic/Carboniferous
0 -> Cenozoic/Quaternary
542 -> Paleozoic/Cambrian
100 -> Mesozoic/Cretaceous
```
  
[Answer]
# [Befunge-93](https://github.com/catseye/Befunge-93), 537 bytes
```
&:"C"`#v_"neC">,,,"/ciozo",,,,,,:4`#v_"auQ",,,"yranret">,,,,,,,@
*54+65:<   >  ^"Mes"_v#!`*+3          >#>#             ^#
 "leogene"<^"ale","P"<     v_v#`*64:<>        "enegoeN"^
,,,"Cre"< ^ ,,"Pa"_v#!`"C":< >       ^^"taceous"
`*2"e":_^#`*+*5545:<v_v#
 ,"T"_v#!`*+*543+65:< >"J","cissaru"  ^"riassic"
*"d"3:<v_v#!`
"rmian"< >:"x"3*`!#v_:"F"6*`#v_"D",v  ^"Pe"
"ous",,,,,,"Carbon"<         :        ^"ifer"
"enovian"                          <  ^
"brian","C"_v#`*"Q"6_v#`*"Y"5<        ^"am"
"an",,,"Ord"<        >"S","nairuli"   ^"ovici"
```
[Try it online!](https://tio.run/##dVBNS8MwGL7nV2RPwUNXcNiPQyhBqHgQ1A29eMmaddkIbC2ka1H/fH3Tus2Lzynkfb7ed2N2Xb03w3AjUKAM@jVqU0BGUYTbyjbfDaIRIhmHulv5D3w5XTtzGoke9yxMk3mWipxzLjlXeDYt1n0wK8N5zC@QgQz4X6iAcRxMsze1Qa6gDwYRlsjHaU8OZZglIpdnAYi4b8wLFPNFCkcyrjg9l3oKpEWoxlmgFE66Mk3XgpXhHQzEWpHpPEzThPr6CMYjvJ/b0iLxtInEE3WpbNtq18Ev5axuW1uBhdginsSzksEdra6phxT4RByWM7qVwCOycLzaA6Ley5cGDL7JdDQU2m2a@ndXD3E5C@zOOGKbuum9N/8XpFYMG@dZZInxZFghmx4fSPOrqz6SpydS@qvbXqMl3khda@u6g8XIpeDKYhjSxeIH "Befunge-93 – Try It Online")
This is basically a giant `if/elsif/if` chain (or rather, two of them), one for the era, and one for the period.
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), ~~74~~ 73 bytes
```
“¥Þ+O83/<<ı)‘Ä>⁸Sµ:3»1;ị"“¥nq9r&t\“¥Ḅr¶4ḍẏżæœġẓÆ$Ụ>¬ḞḂṂĊƁÄ`zṚƥṀȯ4N»Ḳ€¤j”/
```
A monadic Link accepting number in \$[0,542]\$ which yields a list of characters (or a full program which prints the result).
**[Try it online!](https://tio.run/##AZIAbf9qZWxsef//4oCcwqXDnitPODMvPDzEsSnigJjDhD7igbhTwrU6M8K7MTvhu4si4oCcwqVucTlyJnRc4oCcwqXhuIRywrY04biN4bqPxbzDpsWTxKHhupPDhiThu6Q@wqzhuJ7huILhuYLEisaBw4RgeuG5msal4bmAyK80TsK74biy4oKswqRq4oCdL////zEwMA "Jelly – Try It Online")**
### How?
```
“...‘Ä>⁸Sµ:3»1;ị"“...“...»Ḳ€¤j”/ - Link: integer, N        e.g. 100
“...‘                            - list of code page indices    [4,20,43,79,56,51,47,60,60,25,41]
     Ä                           - cumulative sums              [4,24,67,146,202,253,300,360,420,445,486]
      >⁸                         - greater than N?              [0,0,0,1,1,1,1,1,1,1,1]
        S                        - sum                          8
         µ                       - start a new monadic chain, call that X
          :3                     - integer divide (X) by 3      2
            »1                   - maximum of that and 1        2
              ;                  - concatenate with X           [2,8]
                            ¤    - nilad followed by link(s) as a nilad:
                 “...“...»       -   list of compressed strings ["Paleozoic Mesozoic Cenozoic","Ordovician Silurian Devonian Carboniferous Permian Triassic Jurassic Cretaceous Paleogene Neogene Quaternary Cambrian"]
                          Ḳ€     -   split each at spaces       [["Paleozoic","Mesozoic","Cenozoic"],["Ordovician","Silurian","Devonian","Carboniferous","Permian","Triassic","Jurassic","Cretaceous","Paleogene","Neogene","Quaternary","Cambrian"]
                "                - zip with:
               ị                 -   index into (modular)       ["Mesozoic","Cretaceous"]
                             j”/ - join with a '/'              "Mesozoic/Cretaceous"
```
[Answer]
# [Java (JDK)](http://jdk.java.net/), 260 bytes
```
n->(n<67?"Cen":n<253?"Mes":"Pale")+"ozoic/"+"QuaternaryNeogenePaleogeneCretaceousJurassicTriassicPermianCarboniferousDevonianSilurianOrdovicianCambrian".split("(?=[A-Z])")[(n=java.util.Arrays.binarySearch("B‘ÉüīŧƣƼǥȞ".toCharArray(),(char)n))<0?~n:n]
```
[Try it online!](https://tio.run/##VZDBbhMxEIYP3PICXEeWItk0MWnTgrRJGpUgpCKVFoUTUQ6TjTd12B2vbO9KC2rvHHkBLghx4BV6olB4q8W7jYQ4WDNjf2P9@rZYYn@7flfrLDfWwzbMsvA6lUlBsdeG5KNRJ07ROThDTfChA5AXq1TH4Dz6UEqj15CFNz73VtNmsQS0GydaFOCU/IvdV@N74BgSmEBN/WNO4ydPp2ymiEU0PjgaTtmZcixiF5gqJvaYeW90/JjtsdcFemUJbfVKmY0i1RBtM7PKY6xM4V4WNsTU8Rur23qhbKaRZmhXhnSibGCeqzL0SHOdFgGjc7s2pY5bLFs1N0y6PNWeMz6dLE76b5eCiQWnyT8zJ9Zi5eRKN3HmCm18ydmDh89@fLr9eHvz8/uvb3df7m5@f/3zmUlvZpdo2w0uejwOgyAhxoPpNUW0rEeto8RY4CVa8Mr56D99AJo8VEFYEKk2ysoS00KdJ7xhxWgHzSvnVSZN4WUeHPuEs@5wHUHXdYn1oOpBIjHP04rfZ6jEbvWq05yruh7uH9aD@ujwoN4fDP4C "Java (JDK) – Try It Online")
* Contains invisible characters. The binary search String is actually: `"\u0003\u0017\u0042\u0091\u00c9\u00fc\u012b\u0167\u01a3\u01bc\u01e5\u021e"`.
[Answer]
# [J](http://jsoftware.com/), 195 bytes
Assumes that input is 0-542, otherwise ~+7 bytes.
```
(Cen`Mes`Pale{~66 252&I.);@,'ozoic/';Quaternary`Neogene`Paleogene`Cretaceous`Jurassic`Triassic`Permian`Carboniferous`Devonian`Silurian`Ordovician`Cambrian{~(+/\3 20 43 79 56 51 47 60 60 25 41)I.]
```
[Try it online!](https://tio.run/##JYpda8JAEEXf@yuGPjQGNW42uxEVoZBSsLR@P1bYNU5ki@7CxAit4F9PNwbmDudezk/9HAUFTMcQQA8YjH36EWTrz/e6k6FVX1iqpT7h7Z6mwCV/mUXh5LUXuD9n8kEwWVX6gmQ1/ao5uiNafOgtZYQXnaOrSvVRkS5Lk6stmRaWSGejrco07Z01BVLjveHVFz9vzKmiBhZ0cFeTt@p532y3e6c7@E6AMxAJDEcgU5AxiCGkrDkuQcThLNrVYV1AEounApiPFNz/mLF/ "J – Try It Online")
[Answer]
# [Python 3](https://docs.python.org/3/), ~~273~~ 264 bytes
```
lambda y:(['Cen']*67+['Mes']*186+['Pale']*290)[y]+'ozoic/'+(['Quaternary']*4+['Neogene']*20+['Paleogene']*43+['Cretaceous']*79+['Jurassic']*56+['Triassic']*51+['Permian']*47+['Carboniferous']*60+['Devonian']*60+['Silurian']*25+['Ordovician']*41+['Cambrian']*57)[y]
```
[Try it online!](https://tio.run/##PY9Pb4MwDMXv@xTcAoNqBAKslbYLO03aP3U31kOgposESWVCJfblmUPZfPLv6fnZPk/22@h0bh@@5k729VF6086vWAmaHW7zIqzYCwzU8vuc@nfZAUGyjYNqOoTM/BjV3LGQJj5GaQG1xIkMgryvYE6gF3u8jv4JIiWhRLCyATO6@GJLyvOIchhUQ5y5bZ@o/pm7CMBeSXeYcIeVEmujVQt4zcjdmie4kLaYFt6rbsQrJxnxGx7NRTVrDF9i@np1ZIV7a24NetZT2vNTLqI4ykQS8TgOdjce1RmVtr6N2OaRRa1vg2D@BQ "Python 3 – Try It Online")
[Answer]
# [JavaScript (Node.js)](https://nodejs.org), ~~226~~ 221 bytes
```
n=>(Buffer('!%5LpYTP]]:JZ').some(c=>(n-=c-34)<j++,j=1),a='CenMesPaleQuaternaryNeogenePaleogeneCretaceousJurassicTriassicPermianCarboniferousDevonianSilurianOrdovicianCambrian'.match(/.[a-z]+/g))[j>8?2:j/6|0]+'ozoic/'+a[j]
```
[Try it online!](https://tio.run/##HY3BTsJAFEX3fMW4MJ3J0BYRjAEGE@uKiGJko6SLx/Bap2nfkJm2iajfXgure3JykltAC147c6xDsgfsMtWRWvLHJsvQ8eDqevp8/Nhu0nS2@gxE5G2FXPcBhUqHtxOxKKQcFupGDEEFCdIa/QZKfGugRkfgvl/Q5kh4lhdIHNag0TZ@1Tjw3uitM5fdoKsMUAJub8n0933zhG3PQO@mbPqMXt3BtkZfsmp/NkFUQa2/eBztIDylMs6F2BXL@4fxrIjvfkepDOzJGh0HEnZF2mXWcWKKjeaM2EKx6WTck5SC/QwY05a8LTEqbc5pyDJOQswHf90/ "JavaScript (Node.js) – Try It Online")
[Answer]
# [Charcoal](https://github.com/somebody1234/Charcoal), 148 bytes
```
Ｎθ§⪪Cen Mes Pale¦ ⁺‹θ⁶⁷‹θ²⁵³ozoic§⪪”↶0s⟧↶'⪪Q⟧⪪⪫(cＩ‹qκyＱυ⌕↖↙″⁼R¤´⁵σι↙¡Ｚ⟧+]IΦc№M⁰$✂%¹νν⬤～[Ｚ⊕←⊘↖τF¤Ｈ>¹Sk◨ⅈγδ；§⟦⬤▶%↨Φ；{θi∕Ｎβ” ＬΦＩ⪪”)¶5″⁶vρ⁶Ｓ⊘l²Ｋκ～y”³‹ιθ
```
[Try it online!](https://tio.run/##dU/LTsMwELzzFZZPjhSkvCHihIKQikoJKj/guEtrybGbtR0BPx@chnDrnmZGo9kZceIoDFfTtNFn73a@7wDZED3ctCi1Y49uow/wxfZnJR2jDWjyCpa0XAGNCSU0ikmrvGVbsJYNManugrKSrMyjcGsYNT9GCnot/N1zB6g5fpMdmCNouPxZUIPguADjLXnxyK2VgnygXEAL2EuuScOxM1p@As6@JxgDCfJeKo8zeMODGaVYrH03a/8rtqCP7sSepQolWMOtW3slSZ5keVJVaVFmSZqVWVbXeVkXaV2Euy9DRtj5N1vGZLiMnqY8LabbUf0C "Charcoal – Try It Online") Link is to verbose version of code. Explanation:
```
Ｎθ
```
Input the year.
```
§⪪Cen Mes Pale¦ ⁺‹θ⁶⁷‹θ²⁵³
```
Print one of the three era prefixes depending on the year.
```
ozoic
```
Print the era suffix.
```
§⪪”...” ＬΦＩ⪪”...”³‹ιθ
```
Extract the years that the periods end from a compressed list of padded years and count how many periods have ended before the input year and index into a compressed list of names of periods to print the current period. (Padding the years to three digits saves 4 bytes overall due to not needing any separators.)
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E/wiki/Commands), ~~127~~ ~~125~~ 124 [bytes](https://github.com/Adriandmen/05AB1E/wiki/Codepage)
```
.•TćFh/>ytTOb•#ć«•Í‡,®ǝ₁êË2•80в.¥I›©₆12ªèOè.•Hα^B·´‘›∞ÕΣHÄ±[šyZÙΣpK5|´Ø·ëu"dw$мïjéåpºöÒ@’»©\I›¼ä^и9ΣßƒôƶI<Ægª6XyrмÏ•#®Oè'/ý™
```
[Try it online](https://tio.run/##yy9OTMpM/f9f71HDopAj7W4Z@naVJSH@SUCu8pH2Q6uB9OHeRw0LdQ6tOz73UVPj4VWHu42AghYGFzbpHVrq@ahh16GVj5raDI0OrTq8wv/wCpBBHuc2xjkd2n5oy6OGGUAFjzrmHZ56brHH4ZZDG6OPLqyMOjzz3OICb9OaQ1sOzzi0/fDqUqWUcpULew6vzzq88vDSgkO7Dm87PMnhUcPMQ7sPrYwB27Hn8JK4Czsszy0@PP/YpMNbjm3ztDncln5olVlEZRFQZz/IvYfWAe1X1z@891HLov//DQ0MAA) or [verify all test cases](https://tio.run/##AfUACv9vc2FiaWX/dnk/IiDihpIgIj//LuKAolTEh0ZoLz55dFRPYuKAoiPEh8Kr4oCiw43igKEswq7HneKCgcOqw4sy4oCiODDQsi7CpXnigLrCqeKChjEywqrDqE/DqC7igKJIzrFeQsK3wrTigJjigLriiJ7Dlc6jSMOEwrFbxaF5WsOZzqNwSzV8wrTDmMK3w6t1ImR3JNC8w69qw6nDpXDCusO2w5JA4oCZwrvCqVxJ4oC6wrzDpF7QuDnOo8OfxpLDtMa2STzDhmfCqjZYeXLQvMOP4oCiI8KuT8OoJy/DveKEov8s/1szMTQsMCw1NDIsMTAwXQ).
**Explanation:**
```
.•TćFh/>ytTOb• # Push compressed string "ozoic cen pale mes"
 #             # Split it on spaces: ["ozoic","cen","pale","mes"]
  ć            # Extract head; pop and push remainder-list and first item separated
   «           # Append this head to each item in the list:
               #  ["cenozoic","paleozoic","mesozoic"]
•Í‡,®ǝ₁êË2•    # Push compressed integer 3656627291841362083337
 80в           # Convert it to base-80 as list: [4,20,43,79,56,51,47,60,60,25,41,57]
    .¥         # Undelta this list: [0,4,24,67,146,202,253,300,360,420,445,486,543]
      I›       # Check for each whether it's larger than the input-integer
               # (1 if truthy; 0 if falsey)
        ©      # Store this list of checks in variable `®` (without popping)
₆              # Push builtin 36
 12ª           # Convert it to a list of digits, and append 12: [3,6,12]
    è          # Index those into the checks (to get those for [67,253,543])
     O         # Sum those checks to get the amount of truthy values
      è        # Index it into the string-list (modulair 0-based,
               # so 3 indexes into "cenozoic")
.•Hα^B·´‘›∞ÕΣHÄ±[šyZÙΣpK5|´Ø·ëu"dw$мïjéåpºöÒ@’»©\I›¼ä^и9ΣßƒôƶI<Ægª6XyrмÏ•
              "# Push compressed string "quaternary cambrian ordevician silurian devonian carboniferous permian triassic jurassic cretaceous paleogene neogene"
 #             # Split it on spaces: ["quaternary","cambrian","ordevician","silurian","devonian","carboniferous","permian","triassic","jurassic","cretaceous","paleogene","neogene"]
  ®            # Push the list of checks from variable `®`
   Oè          # Do the same as we did earlier
'/ý           '# Join the two words on the stack with "/" delimiter
   ™           # And titlecase both words in this string
               # (after which the result is output implicitly)
```
[See this 05AB1E tip of mine (sections *How to compress strings not part of the dictionary?*, *How to compress large integers?*, and *How to compress integer lists?*)](https://codegolf.stackexchange.com/a/166851/52210) to understand how the compression works.
[Answer]
# [APL (Dyalog Unicode)](https://www.dyalog.com/) 18.0, 213 bytes
```
(0 4 24 67 146 202 253 300 360 420 445 486 543⍸⎕)⊃⊃,/1(⌷,¨↓)¨(9⍴4↑1)⊂(∊∘⎕A⊂⊢)'Cenozoic/QuaternaryNeogenePaleogeneMesozoic/CretaceousJurassicTriassicPaleozoic/PermianCarboniferousDevonianSilurianOrdovicianCambrian'
```
[Try it online!](https://tio.run/##NY/PSsNAEMbvfYq5NYFK82c36lHiSVAr@gLb7VoW0t2waQr1qBBjMEWRQs895QEEPfdR5kXiNsFhhvmY@Q0fw9LkZLZmiZ63HIsPLD6xbrDc4dseq2es9gMsXyFtHQ8IBASiU/BJBIEXQEBDCD0PwsjuAluEAjmLgJIQ61/cbF2sXmyOxr6D7z@jQ4PFl3tonHOsv4l18l3uYFkd3Tbbi97OHcZC6Sct@fguZ0thFDPrG6HnQokJS3pxLbIeiY1YMi50nl3lhmWZ5A9Gdr1jO2YizEIyFTMz1Uo@CmPpS7Gymql7meT2QN2amV5J3mGL6XEybO3fLXSRDkKfDP41pfQP "APL (Dyalog Unicode) – Try It Online") (uses `c` as a polyfill for `⊂` since TIO has not upgraded to 18.0 yet)
[Answer]
# perl -pl, 270 251 bytes
```
@a=((Cenozoic)x67,(Mesozoic)x186,(Paleozoic)x290);@b=((Quaternary)x4,(Neogene)x20,(Paleogene)x43,(Cretaceous)x79,(Jurassic)x56,(Triassic)x51,(Permian)x47,(Carboniferous)x60,(Devonian)x60,(Silurian)x25,(Ordovician)x41,(Cambrian)x57);$_=$a[$_].$".$b[$_]
```
[Try it online!](https://tio.run/##NY7LasMwEEX3/oyihQRqkBzLbgiBgLsq9EW7KyXI7iQIHMmM7OD246tKsbubM3PPZXrAToWw1ztKa7Dux5mWTWXF6SP4heRdyemL7mDhfCPYdt9E43XUA6DV@M2mgtMncCewEBNiEWYs1pzWCINuwY2eTdWG04cRtfepTsX2dzT/JKMKeDbaRjH@UWtsnDVHwKtbxup7uMRNCiR6M92IV8oVp8/45S6mnXWZ9HMzX1XFtuSwI/qDHD5X5GZFmjSFsJZFJjJV5JkU4tf1g3HWh9u@@wM "Perl 5 – Try It Online")
This creates two arrays with 543 elements each. Finding the era and period is then just a matter of indexing in the arrays.
Edit: The challenge was changed; we can now assume the input is between 0 and 542 inclusive. So we don't need to test the input anymore. And we don't require a slash between era and period either.
[Answer]
# [JavaScript (Node.js)](https://nodejs.org), 339 bytes
```
f=(a)=>{g=(b,q,w)=>{for(i=0;;i++){if(a<q[i])return w[i]}}
x=[67,253,543]
y=['Cenozoic/','Mesozoic/','Paleozoic/']
n=[4,24,67,146,202,253,300,360,420,445,486,543]
m=['Quaternary','Neogene','Paleogene','Cretaceous','Jurassic','Triassic','Permian','Carboniferous','Devonian','Silurian','Ordovician','Cambrian']
console.log(g(a,x,y)+g(a,n,m))}
```
[Try it online!](https://tio.run/##PY5NT8JAEIbv/RXe2E1HLe22muB6wZOJisFb08NSps2adlemH4CE314XCh4med75eDLfqldNTvqnvTV2jcNQSKa4fD6Ukq1gA9sTF5aYlsFspn2fH3TB1NMm1RknbDsyN1vHx6O3k2nyAGEcQSyizNvLdDJHY3@tzu8nMHnD5p8XqsJLyDwjUwGhAHc8FQmEQXiWREEAURKACF2JGMRjMoprJ/7sVItkFO2d7R1tiQav3gvP3XcqR9s1Lrx2pJpG5w6/SF9xgVRrZU7LilbW6AJp3H/B3sXzaKmrjkb8oLXtdX49qVfnfubl1jS2wrvKlqxkCnaw5/4JDNScH4eCTfnwBw "JavaScript (Node.js) – Try It Online")
simplest solution to start golfing
[Answer]
# [Whitespace](https://esolangs.org/wiki/Whitespace), ~~1841~~ ~~1830~~ 1819 bytes
```
        
   
 
    
                     
                    
        
             
                            
        
                
    
        
            
             
                      
        
               
                   
        
                
   
                     
                
                
   
             
                      
        
                 
 
                                
        
                    
                         
        
                  
   
                 
             
                    
                
                
    
     
    
 
                  
        
                
   
                
                     
                
                    
                        
   
                       
        
              
   
                
                  
                
            
    
        
   
                    
                 
                
                     
                 
                
                  
                
                    
            
    
      
   
                
                 
    
        
    
   
            
                         
        
                 
   
                
                
                    
                    
                
   
                             
        
                    
   
                
                 
              
    
         
   
                    
                    
                        
                
                
                
                  
                
                 
                
    
            
   
                 
                    
             
    
       
 
 
   
                     
                
                
                    
                 
                
            
    
        
 
   
                    
                    
                        
                 
                
                 
                
                     
                        
             
                 
                
                
    
         
 
   
                     
                        
                     
                
          
    
            
 
   
                 
                    
                  
                
                
    
          
   
                
                
                     
                        
              
                 
                    
  
   
                    
                
                
                        
                     
                        
    
                
         
 
                
                     
 
                
            
   
                     
                
                
 
    
             
   
                    
                
                
 
    
                
   
                
                  
                
            
    
 
 
                
    
  
 
    
        
```
[Try it online!](https://tio.run/##nVVBTgMxDDzbr5gnwIX/IFQJbkgg8fxlYyf2JPFWhbZatY7jGU/G6c/7x/ft6/P17XYcgIgC0PMtKu2F9htijzMEj1tUPIGittkfLdA2Kdc4M6SFRj68Tovaj1zoNGBLgYcsj0hKAA9yHbFWosxMVkYTthwL4sB9ESBwSUrBIyh1iZpyGqmmpPT2E4K6Q5biRglAhBKy545Ool1VxSafsw2uxCfEX3svWE4JktsKQIsSNulU0vYtmZTOYl91U2E6PS4HWe3Sj3v7CrCfggwVnixZiOSdpaaLizYd8jiX8945XYsa4LP5phPNUxLWF6yvzbx9Hhy7aQhKIywe82H4gya1u0LZlQvNJulXWvVqYgWXCjCtYkr7fGelvVdUve6GcuuTix7wc9277Og@4K2w0t0rcq88ty7Ykca8aIfRbozx96HQAToMc@e6iyPRYeR6jOabAtMO@cc96Dd176WVsoGI4YAex/PL0y8 "Whitespace – Try It Online")  
For some reason it doesn't work quite right on TIO, try it using the IDE I wrote it in, [Whitelips](http://vii5ard.github.io/whitespace/)
## Explanation
Since the only conditionals in whitespace are `jump-if-negative` and `jump-if-zero`, I figure out if the inputed number minus the number for the era plus one is negative, then jump to the respective label and push the era onto the stack. I then jump into a loop that prints the entire stack. (loops until it reaches a `-1`, which I push at the very start of the program.) I save repetive bytes by pushing "ogene" and then "Ne" or "Pale", "ozoic/" and then "Mes" or "Cen", etc.
[Answer]
# [FEU](https://github.com/TryItOnline/feu), 268 bytes
```
u/x
m/x{486}x*/"Cambr#/x{445}x*/"Ordov%#/x{420}x*/"Silur#/x{360}x*/"Devon#/x{300}x*/"Carbonifer&/x{253}x*/"Perm#/x{202}x*/'Tri,/x{146}x*/'Jur,/x{67}x*/'Cretace&/x{24}x*/- 0/x{4}x*/-N0/x*/-Quaternary/0/eogene/-/Cen!/,/ass%/'/Mes!/&/ous/#/ian/"/ e!/!/ozo%\//%/ic/ /Pal/g
```
[Try it online!](https://tio.run/##Lc5Ni8IwEAbgu7@iVWphUd5Ya3fv3ZPgF3rcS3RHCdgEpkaq4m@vzegp8z7MZOZIvm09ml6F5pH/FM/mC/1SV3seBMhnAiv@d9dEJFMiW3P20jIt3vBLV2cFlPp8wntnzZF42Gk2m4quiavQlaks5HTHZtTFSS6b07nnEItvSSXTRR9I5vMg40iFG6RcdmX3bLy@EFvNNyiQO5EljFGSjTGCrusEKRZUxxjC@RoDGG3RR0QxYri7S/6ABOaACGt9xqltXw "FEU – Try It Online")
Basically just compression.
[Answer]
# [Io](http://iolanguage.org/), 417 bytes
Port of Noodle9's Python answer.
```
method(y,("Pale "repeated(67).."Mes "repeated(186).."Pale "repeated(290))split at(y).."ozoic/"..("Quaternary "repeated(4).."Neogene "repeated(20).."Paleogene "repeated(43).."Cretaceous "repeated(79).."Jurassic "repeated(56).."Triassic "repeated(51).."Permian "repeated(47).."Carboniferous "repeated(60).."Devonian "repeated(60).."Silurian "repeated(25).."Ordovician "repeated(41).."Cambrian "repeated(57))split at(y))
```
[Try it online!](https://tio.run/##ZZDBbsIwEER/xfLJlqqQUJIAUk/0VKktqBy5mGQDKyV2tHGQ0p9PcVAlO1z3zezMLpqxYts3dhobsFdTiuFF8L2qgXGCFpSFUmS5jCL@CZ03S9aZG86Uy00sZdfWaJmyYnAK82uwWPAoEvzQ30WkFQ2eZeVEX2AuoINN8f/6OVm9OrIjsKoA0/ul8o1DHz2prsPCA@lU9kj4BJIpBqhBpf2Q6eSdorPRWAGFOdlU7h1udxjYHuAH655CsEwd@KbS3LCYRSWPqOY886R58Es5ViKJY8laQm1rPf4B "Io – Try It Online")
[Answer]
# [PHP](https://php.net) [with -r](https://codegolf.meta.stackexchange.com/a/2428/58556), 261 bytes
Lots of ternary operators is the shortest solution I've found. Then golfed for some redundant suffixes. Only twice the amount of bytes needed to spell out each era uncompressed.
```
$a=$argv[1];echo($a<67?Cen:($a<253?Mes:Pale)).'ozoic/'.($a<4?Quarternary:($a<24?Neogene:($a<67?Paleogene:($a<146?Cretaceous:($a<202?Jurassic:($a<253?Triassic:($a<300?Permian:($a<360?Carboniferous:($a<420?Devon:($a<445?Silur:($a<486?Ordovic:Cambr))).ian))))))));
```
[Try it online!](https://tio.run/##RY9NT8MwDIb/yg6VRg@MrE0L6jb5UE5IwBC7IYS8zrSRtjhyPyT48YRWGcwn@/Xrx7ZrnPdrcI2bRbiJUOrhbfm@oqrhqwjX@S2UZIspTbIUHqkttnikOF7M@ZtNdTNfTD0NLz1KR2JRvoJbwxNxTZaKM2eauwhLnUMp1GFF3LdhRCXw0Au2ran@N@7EXIRUKdiSnAyGk9JcQYmyZ2s@Sf44OlFwTwMHj9YZvJpjL6G6y@FZDjyMxBJPe4nHV0ZcfI6V9z5T6oddZ9i2/vowIxGWDyHH0hlbb9Qv "PHP – Try It Online")
[Answer]
# [Ruby](https://www.ruby-lang.org/), 317 bytes
```
->a{a<31?"Cenozoic/"+(a<4?"Quaternary":(a<24?"Neogene":(a<67?"Paleogene":""))):a<253?"Mesozoic/"+(a<146?"Cretaceous":(a<202?"Jurassic":(a<253?"Triassic":""))):a<543?"Paleozoic/"+(a<300===a ?"Permian":(a<360 ?"Carboniferous":(a<420?"Devonian":(a<445===a ?"Silurian":(a<486 ?"Ordovician": (a<543?"Cambrian":"")))))):""}
```
[Try it online!](https://tio.run/##TY5NT4QwEIbv/goypyXGWGhBs1nsAU8mfkVvZg8DDqbJLjUD3WQ1/nbsQkFv06fvPPOyq45DUwwXN/iNG5loKKm1X9bUl3C@wo3S8OywJ26Rj7D2JPXogewHtTS@8ysNT7ibCUAcx2sfy6SGe@r@uRKVez1TjzVZ1002kWq4c4xdZ@qJnBZf2QQy@zIlw50/oRSiKAqM/Afx3mA7CmQuPCmRK9uahng@pVKh4ZYOnoakUlnYfzE7xwu@zj165Hd7MPUIo1UoUOK@mnJjr1M1gJ/h0/Vd1LzJRG3PwiyWKVPpMidCbIdf "Ruby – Try It Online")
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), 235 bytes
```
67‹i’¦ì€¸zo¾ã/’™?¹4‹i’QuâìÒÇry’?ë¹₂Í‹i’ÖÌž¹’™?ë’æ§ož¹’™?}}ë¹253‹i’€á€Êzo¾ã/’™?¹145‹i’±ƒˆÆÁàÔºs’™?ë¹т·Ì‹i’JÒ¢í„¾ã’?ë’Æ×í„¾ã’™?}}ë’æ§¢äo¾ã/’™?¹3т*‹i’„œéên’™?ë¹₆T*‹i’®´€¬²¡Ôºs’™?ë¹420‹i’Ùç·‹’™?ë¹445‹i’¯ë„¹´€¤’™?ë¹486‹i’€—€·É²·‹’™?ë’§è¢°’™?
```
[Try it online!](https://tio.run/##XVC7SgNBFP0fG012E@3S2wn@gAGLNC4YLBQC4yArSmzWoKRZzBqyatYnwjoWKe4hNqnyC/Mj6ww7Y8ZtBu655zU36O61O/tF0dyUTHQkG9IEmeQZfZ0ENMP9uoLkWdIi4RvCzhESZIhwfnisxhamJCTnuDJ73KA/nymsFGKqsQmlgQP2elpVb3hGowIx0s9lNbXmN2yx959oESLEKe4woO/uXwCJJaccfUPcRkQJniWLtVVZUXcIceuitoeppyTjSra35Gu2IIvn13jE04GTKnm4awn0Qp/6bBl90Khaz69v2OMMkVKuBne7@uKrrhOTKL3GLmmrubqVZAO9z3Gh0v65aZMUD5TQm8GKwqv5vw "05AB1E – Try It Online")
```
   i                                                         # if
                                                             # implicit input
67‹                                                          # is less than 67
                ?                                            # then output without trailing newline
    ’¦ì€¸zo¾ã/’™                                             # "Cenozoic/"
                    i                                        # if
                 ¹                                           # first item from input history
                  4‹                                         # is less than 4
                               ?                             # then output without trailing newline
                     ’QuâìÒÇry’                              # "Quaternary"
                                ë    i                       # elif
                                 ¹                           # first item from input history
                                    ‹                        # is less than
                                  ₂                          # 26
                                   Í                         # - 2 = 24
                                             ?               # then output without trailing newline
                                      ’ÖÌž¹’™                # "Neogene"
                                              ë              # else
                                                       ?     # output without trailing newline
                                               ’æ§ož¹’™      # "Paleogene"
                                                        }}   # end if statement (2x)
ë     i                                                      # elif
 ¹                                                           # first item from input history
  253‹                                                       # is less than 253
                   ?                                         # then output without trailing newline
       ’€á€Êzo¾ã/’™                                          # "Mesozoic/"
                         i                                   # if
                    ¹                                        # first item from input history
                     145‹                                    # is less than 145
                                      ?                      # then output without trailing newline
                          ’±ƒˆÆÁàÔºs’™                       # "Cretaceous"
                                       ë     i               # elif
                                        ¹                    # first item from input history
                                            ‹                # is less than
                                         т                   # 100
                                          ·                  # * 2 = 200
                                           Ì                 # + 2 = 202
                                                       ?     # then output without trailing newline
                                              ’JÒ¢í„¾ã’      # "Jurassic"
ë                                                            # else
          ?                                                  # output without trailing newline
 ’Æ×í„¾ã’™                                                   # "Triassic"
           }}                                                # end if statement (2x)
             ë                                               # else
                         ?                                   # output without trailing newline
              ’æ§¢äo¾ã/’™                                    # "Paleozoic"
                               i                             # if
                          ¹                                  # first item from input history
                              ‹                              # is less than
                           3т*                               # 3 * 100 = 300
                                        ?                    # then output without trailing newline
                                ’„œéên’™                     # "Permian"
                                         ë     i             # elif
                                          ¹                  # first item from input history
                                              ‹              # is less than
                                           ₆                 # 36
                                            T*               # * 10 = 360
                                                            ?# then output without trailing newline
                                                ’®´€¬²¡Ôºs’™ # "Carboniferous"
ë     i                                                      # elif
 ¹                                                           # first item from input history
  420‹                                                       # is less than 420
              ?                                              # then output without trailing newline
       ’Ùç·‹’™                                               # "Devonian"
               ë     i                                       # elif
                ¹                                            # first item from input history
                 445‹                                        # is less than 445
                                ?                            # then output without trailing newline
                      ’¯ë„¹´€¤’™                             # "Silurian"
                                 ë     i                     # elif
                                  ¹                          # first item from input history
                                   486‹                      # is less than 486
                                                   ?         # then output without trailing newline
                                        ’€—€·É²·‹’™          # "Ordovician"
                                                    ë        # else
                                                            ?# output without trailing newline
                                                     ’§è¢°’™ # "Cambrian"
                                                             # implicit end if statement (5x)
```
]