Nennen Sie die Hadronen

19

Herausforderung

Ausgehend von einer Quark-Zusammensetzung eines Teilchens als Eingabe geben Sie den Namen des entsprechenden Hadrons aus.

Quarks werden durch einen Großbuchstaben und Antiquarks durch einen Kleinbuchstaben dargestellt.

Die Quarks können in beliebiger Reihenfolge vorliegen, nicht unbedingt in der unten angegebenen Reihenfolge.

Eingebaute Funktionen die Zugangsdaten zu Partikeln und / oder Quarks sind nicht erlaubt.

Die einzigen Quarks, die Ihnen gegeben werden, sind U (hoch), u (antiup), D (runter), d (Antidown), S (seltsam), s (Antistrange), C (Charm), c (Anticharm), B ( bottom or beauty), b (antibottom oder antibeauty).

Liste der Hadronen und ihrer Quarkkompositionen

Beachten Sie, dass es zwar verschiedene andere Hadronen wie Pentaquarks, Glueballs usw. gibt, Sie jedoch nur die in den folgenden Listen aufgeführten Hadronen unterstützen müssen

Baryonen (QQQ) und Antibaryonen (qqq)

Die Namen in Klammern sind alternative Namen für die Partikel. Sie können jeden Namen ausgeben.

Input - Output

UUU - delta++
uuu - antidelta++
UUD - delta+ (proton)
uud - antidelta+ (antiproton)
UDD - delta0 (neutron)
udd - antidelta0 (antineutron)
DDD - delta-
ddd - antidelta-
UUS - sigma+
uus - antisigma+
UDS - sigma0
uds - antisigma0
DDS - sigma-
dds - antisigma-
USS - xi0
uss - antixi0
DSS - xi-
dss - antixi-
SSS - omega-
sss - antiomega-

UUC - charmed sigma++
uuc - charmed antisigma++
UDC - charmed sigma+
udc - charmed antisigma+
DDC - charmed sigma0
ddc - charmed antisigma0
UUB - bottom sigma+
uub - bottom antisigma+
UDB - bottom sigma0
udb - bottom antisigma0
DDB - bottom sigma-
ddb - bottom antisigma-
USC - charmed xi+
usc - charmed antixi+
DSC - charmed xi0
dsc - charmed antixi0
UCC - double charmed xi++
ucc - double charmed antixi++
DCC - double charmed xi+
dcc - double charmed antixi+
USB - bottom xi0
usb - bottom antixi0
DSB - bottom xi-
dsb - bottom antixi-
UBB - double bottom xi0
ubb - double bottom antixi0
DBB - double bottom xi-
dbb - double bottom antixi-
UCB - charmed bottom xi+
ucb - charmed bottom antixi+
DCB - charmed bottom xi0
dcb - charmed bottom antixi0
SSC - charmed omega0
ssc - charmed antiomega0
SSB - bottom omega-
ssb - bottom antiomega-
SCC - double charmed omega+
scc - double charmed antiomega+
SCB - charmed bottom omega0
scb - charmed bottom antiomega0
SBB - double bottom omega-
sbb - double bottom antiomega-
CCB - double charmed bottom omega+
ccb - double charmed bottom antiomega+
CBB - charmed double bottom omega0
cbb - charmed double bottom antiomega0
CCC - triple charmed omega++
ccc - triple charmed antiomega++
BBB - triple bottom omega-
bbb - triple bottom antiomega-

Mesonen (Qq)

Input - Output

Ud - pion+
Uu - pion0
Dd - pion0
Du - pion-
Us - kaon+
Ds - kaon0
Sd - antikaon0
Su - kaon-
Ss - phion0
Cd - D meson+
Dc - D meson-
Cu - D meson0
Uc - antiD meson0
Cs - strange D meson+
Sc - strange D meson-
Cc - psion0
Bu - B meson-
Ub - B meson+
Db - B meson0
Bd - antiB meson0
Sb - strange B meson0
Bs - strange antiB meson0
Bb - upsilon0

Gewinnen

Kürzester Code in Bytes gewinnt.

Beta-Zerfall
quelle
11
Eingebaute Funktionen die Zugangsdaten zu Partikeln und / oder Quarks sind nicht erlaubt. Ich sehe dich an, Mathematica.
Ok
Diese Herausforderung besteht also im Wesentlichen darin, eine Nachschlagetabelle zu komprimieren.
Rohan Jhunjhunwala
3
Mathematica hat eine ParticleDataFunktion mit einer QuarkContentOption.
Ian Miller
1
Sieht nicht schwer aus. Ich meine, jeder Quark hat seine eigene elektrische Ladung, man muss nur mit dem Namen umgehen, nicht mit der Ladung.
Matthew Roh
1
1. Es scheint, dass die Baryonen eine beliebige Kombination von 3 Quarks desselben Falls sein können. Mesonen sind Kombinationen von 2 Quarks in entgegengesetzter Schreibweise, aber für Mesonen Cbund Bcfehlen. Ist das beabsichtigt? 2. Eine unterschiedliche Bestellung der Buchstaben würde das Gleiche bedeuten - muss unser Programm in der Lage sein, unterschiedliche Buchstabenreihenfolgen zu verarbeiten, oder werden sie immer wie abgebildet bestellt? (dh wird es immer UDSzum Beispiel sein oder könnte es sein SUDoder DSUzum Beispiel?) In ähnlicher Weise könnten wir für Mesonen haben uD?
Level River St

Antworten:

5

SOGL 0.11 , 341 339 333 310 305 305 300 Bytes

‘θw±
on”≥
0c{≤
”=?"▒
on0”←"█
c SW?"▲
?ļ0←j ►
?"anti”o}▼
SD”;W¡+}□
=?ļ-←ļ+←■
‘B≤a=+}:?"⁽¬Τk⅜K±l?@+}ob@+o}▓
UCl2-? CA"K¼⁶▓ BA"δ╬▓cd≠▼≤: U=; D=++}"8}↕x╔:⁵F┘¹±o≤"B□"κ§)Ƨ7%s±p←"Ss▒phi█Cc▒psi█Bb▒upsil█SdUcBd”2n{=▼}≤"U□1>?▲ka≥pc DW►S■"pi≥Pcρ►D■▲)»β⁴‘o}ƧBs=▼ Dc BW?X B}" mes≥+p"D═S┐╔¬ν↑FνF⌠V3╗βstA\≈²‘:cW2+Wp
dzaima
quelle
12

JavaScript (ES6), 456 448 431 420 Byte

Dieser Code verwendet nur zwei kleine Nachschlagetabellen:

  • eine zur Identifizierung der Quarks: 'CUBDScubds'
  • ein anderes, um das 'Anti'-Präfix von Mesonen zu erkennen:' SdUcBdBs '

Alles andere ergibt sich aus den Quarks.

(s,[a,b]=[...s].map(c=>(i='CUBDScubds'.search(c)%5,m|=1<<i,j+=i<2,k+=i&1,p+=i?i-2?'':'bottom ':'charmed ',i),m=j=k=0,p=''))=>s[2]?p.replace(/(\w+) \1( \1)?/,(_,a,b)=>b?'triple'+b:'double '+a)+(s>'Z'?'anti':'')+['omega','xi','sigma','delta'][k]+('-0+'[j]||'++'):(m&16&&m&5?'strange ':'')+(~'SdUcBdBs'.search(s)?'anti':'')+(m&1?m^1?'D mes':'psi':m&4?m^4?'B mes':'upsil':m&16?m^16?'ka':'phi':'pi')+'on'+'-0+'[(a<2)-(b<2)+1]

Arnauld
quelle
2

Perl 5, 318 Bytes

$_=<>;$h=qw/- ++ + 0/[y/uc//*2*($i=3-map{${lc;}++}/./g)-$u-$c-$i];$a=($i?!$h&&/[dUB]/:/[a-z]/)&&anti;map{/(.)/;$q.=("","$_ ","double $_ ","triple $_ ")[$$1]}charmed,bottom;print(($i?($u+$d>1?pi:$s>1?phi:$c>1?psi:$b>1?upsil:$c+$b?($s?"strange $a":$a).($b?B:D).' mes':$a.ka).on:$q.$a.qw/omega xi sigma delta/[$u+$d]).$h)

Zeilenumbrüche zur besseren Lesbarkeit hinzugefügt:

$_=<>
$h=qw/- ++ + 0/[y/uc//*2*($i=3-map{${lc;}++}/./g)-$u-$c-$i]
$a=($i?!$h&&/[dUB]/:/[a-z]/)&&anti
map{/(.)/;$q.=("","$_ ","double $_ ","triple $_ ")[$$1]}charmed,bottom;
print(($i?($u+$d>1?pi:$s>1?phi:$c>1?psi:$b>1?upsil:$c+$b?($s?"strange $a":$a).($b?B:D).' mes':$a.ka).on:$q.$a.qw/omega xi sigma delta/[$u+$d]).$h)
faubi
quelle