Simplify a Date
Pyth - 116 87 bytes
jm++@rR3c."ayÖèÈÒ+J÷z4wëÝ~ñ!Õ¥´{mCØóy|å²z¼qP?ë"\qhd;ed.u/RYNPiFKsMcz\/K
Test Suite.
Jelly, 59 bytes
ṣ”/VµÆDf/2ị:@µÐĿị1¦€“£ṢtẒ⁽ẹ½MḊxɲȧėAṅ ɓaṾ¥D¹ṀẏD8÷ṬØ»ṣ⁶¤j€⁶j⁷
Try it online!
How it works
ṣ”/VµÆDf/2ị:@µÐĿị1¦€“...»ṣ⁶¤j€⁶j⁷ Main link. Argument: mm/dd
ṣ”/ Split at slashes.
V Eval each chunk, yielding [m, d] (integers).
µ Begin a new, monadic chain. Argument: [m, d]
µÐĿ Execute the chain to the left until the results
are no longer unique. Yield the list of all
intermediate results.
ÆD Compute the divisors of each number.
f/ Intersect them.
2ị Select the one at index 2. If there is only
one divisor, ị wraps around and selects 1.
:@ Divide [m, d] by this common divisor.
¤ Combine the links to the left into a chain.
“...» Yield the month's name, space-separated.
ṣ⁶ Split at spaces.
€ For each pair...
ị index into the month's names...
1¦ for the first element.
j⁶€ Join each pair, separating by spaces.
j⁷ Join, separating by linefeeds.