Notifiche
Cancella tutti

[Risolto] potete aiutarmi... grazie

  

0

zio Geppo mi ha dato come compito quello di rimescolare i numeri da 0 a 9 per ottenere il numero più grande possibile che deve essere anche divisibile per 2,3,4,5,6,9,10,11

Autore
Etichette discussione
1 Risposta



1

Il minimo comune multiplo dei divisori prescritti
* mcm(2, 3, 4, 5, 6, 9, 10, 11) = mcm(4, 9, 10, 11) = 1980
deve risultare sottomultiplo del massimo intero rappresentabile da una permutazione p delle dieci cifre decimali: p = 1980*M.
La molteplicità M dev'essere compresa fra gli estremi
* 1023456789/1980 = 516897.36(81)
* 9876543210/1980 = 4988153.1(36)
cioè
* M ∈ [516898, 4988153]
e le 4471256 possibilità scoraggiano ogni tentativo di esplorazione completa.
Tuttavia, per soddisfare alla consegna, non occorre un'esplorazione completa: basta partire dall'alto a calare e fermarsi al primo successo, ma non sulle molteplicità bensì sulle permutazioni. Ovviamente, non potendo immaginare quanti tentativi serviranno, non m'azzardo nemmeno a pensare di farli a mano libera, ma ricorro fin da subito a mezzi pesanti.
Ti ricopio la schermata dell'IDLE di Python che ha calcolato i 57 tentativi necessarii e sufficienti ad ottenere il risultato richiesto.
==============================
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 2030) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> def fragolaExSosQuaesivit(s):
import itertools
quanti = 0
for tup in itertools.permutations(s):
quanti += 1
perm = int(''.join(tup))
if not perm % 1980: return quanti, perm
return quanti, 'Nessun multiplo di 1980'

>>> fragolaExSosQuaesivit('9876543210')
(57, 9876523140L)
>>>
==============================
Il risultato richiesto è 9876523140, corrispondente a
* M = 9876523140/1980 = 4988143
da cui
* 4988154 - 4988143 = 11
Ohibò, sarebbe convenuto provare sulle molteplicità! E la funzione di ricerca sarebbe anche stata più semplice.
Mah, cosa fatta capo ha!

Grazie mille professore



Risposta




SOS Matematica

4.6
SCARICA