/ / Trovare 2 o più numeri con il numero dato come GCF - c #, java, algoritmo, massimo-comune-divisore

Trovare 2 o più numeri con il numero dato come GCF - c #, java, algoritmo, massimo comune divisore

Non voglio trovare il GCF di determinati numeri. Io uso Euclideo per questo. Voglio generare una serie di numeri con un determinato GCF. Per esempio se scelgo 4, dovrei ottenere qualcosa come 100, 72 o 4, 8 ecc.,

Qualsiasi suggerimento sarebbe apprezzato.

risposte:

1 per risposta № 1

Una serie di coppie di numeri che hanno N come è un GCF {N,N}, {N,2N}, {N,3N}, ....

In realtà, qualsiasi insieme composto da N e 1 o più multipli di N ha N come il suo GCF.


0 per risposta № 2

1. Forse questa domanda può essere meglio risposta a http://math.stackexchange.com

2.Costruisci i numeri a cui sei interessato moltiplicando i numeri che non sono fattori del GCD. per il tuo esempio di GCD = 4 che significa $ k_1 = 4 $ il GCD stesso $ k_2 = 4 * 2 $ poiché 4 non divide 2 $ k_3 = 4 * 3 $ poiché 4 non divide 3 $ non k_4 = 4 * 4 $ poiché 4 divide 4 ma $ k_4 = 4 * 5 $ poiché 4 non divide 5 ecc.


0 per risposta № 3

Se 4 è l'input, vuoi una lista di numeriil cui più grande fattore comune è 4. È possibile garantire questo facendo 4 l'unico fattore in tutta la serie. Pertanto, moltiplichi il numero (4) di tutti i numeri primi per assicurarti che.

prime-list = 3, 5, 7, 11, 13, 17

gcf-list per 4 -> (3 * 4) 12, (4 * 5) 20, (4 * 7) 28, (4 * 11) 44, (4 * 13) 52, (4 * 17) 68,. ..

Questo ti darà una lista tale che il GCF di due numeri qualsiasi sia 4


0 per risposta № 4

Scegli un insieme di numeri indipendenti dalla coppia (cioè gcd (x, y) = 1 per ogni x <> y nell'insieme). Moltiplicare ciascun numero per il GCD di destinazione.


0 per risposta № 5

Mi rendo conto che questa è una vecchia domanda, ma fornirò la mia risposta insieme a una spiegazione di come sono arrivato. Per prima cosa, chiamiamo GCF n.

Inizialmente avrei suggerito di fare qualcosacome selezionare numeri interi casuali e moltiplicarli per n per ottenere l'insieme di numeri, questo ovviamente darebbe numeri ugualmente divisibili per n ma non necessariamente numeri con un GCF di n. Se gli interi hanno tutti un GCF diverso da "1", allora il GCF del set risultante avrebbe in realtà un GCF di n volte quel numero, non n. Detto questo moltiplicando n di un insieme di interi sembra il modo migliore per garantire che ogni numero nel set sia almeno divisibile per n

Un'opzione sarebbe quella di creare uno di quei numeri 1, ma ciò ridurrebbe la casualità dell'insieme come n sarebbe sempre nel set risultante.

Successivamente è possibile utilizzare alcuni numeri primi emoltiplicarli per n ma questo ridurrebbe anche la casualità in quanto ci sarebbero meno numeri possibili, ei numeri non devono in realtà essere primi, solo co-prime (GCF = 1 per l'intero set)

Puoi anche scegliere una serie di numeri dove ciascunola coppia di numeri era co-prime ma, ancora una volta, l'intero set deve essere co-prime non co-prime a coppie (il che sarebbe piuttosto intenso per il processore con set più grandi).

Quindi se stai andando per numeri abbastanza casuali iocomincerebbe determinando quanti numeri vuoi nel set (che sia determinato casualmente o predeterminato) e poi generando un numero inferiore a quel numero completamente "casualmente". Quindi calcolerei i fattori primi comuni per quei numeri e quindi sceglierei un numero casuale che non ha nessuno di quei fattori primi. Solo assicurandosi che non abbia lo stesso GCF non è sufficiente in quanto il GCF potrebbe avere fattori comuni al numero finale. Richiede solo un numero in un set che non ha nessuno degli stessi fattori primi degli altri numeri nel set per rendere il GCF di quel set "1". Quindi prenderei quell'insieme di numeri e moltiplicarli per n per ottenere l'insieme di numeri che vuoi.