SECONDA RISPOSTA
Ho prodotto la prima risposta, fra l'una e l'altra delle terapie mattutine, ragionando solo sulla specificazione "nessuna delle tre cifre che cambiano nel primo numero sono utilizzate nel secondo", ma senza badare alla consegna "scrivere il primo dei due anni".
Ma dopo mezza giornata, tornandoci su col pensiero, ho pensato "ma perché due anni? Dovrebbe accadere ogni anno xx99, no?" e non sapendo resistere alla curiosità mi sono fatto, nell'ambiente IDLE di Python, un programmino esplorativo che ti riporto qui di seguito insieme ai 50 anni xx99 di quattro cifre che confermano il mio ragionamento.
Gli anni xxx9 provocano il cambio di due cifre.
Gli anni xx99 provocano il cambio di tre cifre.
Gli anni x999 provocano il cambio di quattro cifre.
... e così via.
Tu hai un'idea del perché hanno detto "scrivere il primo dei due anni"? Se sì, me la dici?
#
>>> def cambioTre():
result = []
k = 2099
while k < 9999:
k += 1
c0 = [int(c) for c in list(str(k))]
c1 = [int(c) for c in list(str(k + 1))]
n = 0
for c in c0:
n += c in c1
if n < 2: result.append((k, k + 1))
return result
>>> a=cambioTre()
>>> len(a)
50
>>> a
[(2199, 2200), (2399, 2400), (2499, 2500), (2599, 2600), (2699, 2700), (2799, 2800), (2999, 3000), (3199, 3200), (3299, 3300), (3499, 3500), (3599, 3600), (3699, 3700), (3799, 3800), (3999, 4000), (4199, 4200), (4299, 4300), (4399, 4400), (4599, 4600), (4699, 4700), (4799, 4800), (4999, 5000), (5199, 5200), (5299, 5300), (5399, 5400), (5499, 5500), (5699, 5700), (5799, 5800), (5999, 6000), (6199, 6200), (6299, 6300), (6399, 6400), (6499, 6500), (6599, 6600), (6799, 6800), (6999, 7000), (7199, 7200), (7299, 7300), (7399, 7400), (7499, 7500), (7599, 7600), (7699, 7700), (7999, 8000), (8199, 8200), (8299, 8300), (8399, 8400), (8499, 8500), (8599, 8600), (8699, 8700), (8799, 8800), (9999, 10000)]
>>>
#