2011-09-18 9 views
23

Questa è stata una domanda che è stata posta al mio amico in un'intervista di Google qualche tempo fa. Non è stato in grado di trovare una soluzione, ma ha finito per imbucare il lavoro comunque. Ecco la domandaTrova tutti i quadrati perfetti che sono una permutazione di circa 300 cifre

Ti è stato dato a 300 cifre composto di 100 quelli, 100 gruppi di due, e 100 gruppi di tre, ora venire con un algoritmo che determinerà tutti questi numeri, che sono un quadrato perfetto

Ho provato questo per un po 'ma sono perplesso. Qualche idea su come andare su questo?

+1

Ogni risposta deve utilizzare tutte le cifre fornite o qualsiasi sottoinsieme? – cheeken

+1

Penso che implichi che tutti i numeri abbiano 300 cifre. –

+0

@cheeken tutte le 300 cifre devono essere utilizzate per ogni risposta. – sanz

risposta

54
printf ("{}\n"); 

Il set in questione è vuota (la somma delle cifre è divisibile per 3 ma non da 9).

+21

A chiunque non capisca perché: Se la somma delle cifre è divisibile per 3, il numero è divisibile per 3. Lo stesso vale per 9. Poiché la somma delle cifre è divisibile per 3 ma non 9, il numero è un multiplo di 3 ma non 9. Un quadrato perfetto non può avere esattamente un fattore di 3. – Mysticial

+3

+1. Bella risposta. –

+1

Whoa ... Non mi aspettavo che ... – quasiverse

0

La risposta di n.m è ovviamente ottima.

È anche facile vedere che l'unico numero che può avere il proprio quadrato ha l'ultima cifra tra {1,2,3} è un numero che inizia con la cifra unitaria come 9. Ora, se usiamo 9 come ultima cifra di un numero che sarebbe quadrato a una delle combinazioni, vedremo presto che non c'è nessuna cifra di 10 insieme a 9 alla cifra unitaria che può dare un numero che coinvolge {1,2,3} nella decima cifra del suo quadrato.

Probabilmente, questa spiegazione risponde a una domanda del tipo "una combinazione di 300 cifre con 1,2 e 3 ha una radice quadrata"?

+0

l'ultima cifra possa essere 1. –

Problemi correlati