O forse è in C++? . Convalida- funzione di un singolo parametro. Forse dovremmo farlo alla vecchia maniera... alloca la memoria e mette in cache un bool per tutti i valori validi dell'argomento?
In MQL è possibile aprire un ordine nel caso in cui, per qualche miracolo, i numeri dell'hockey si dividano equamente! :))
Ma seriamente, non sono sicuramente al tuo livello.
MetaDriver:
"|=" è un "o" bitwise in questo caso. Questa cosa alza i bit di XX in posizioni uguali a A[i].
E se dopo il ciclo tutti i bit da uno a sei sono 1, significa che tutte le cifre da 1 a 6 si presentano esattamente una volta nel numero X.
0x7E è la rappresentazione esadecimale del numero binario 1111110. (il bit di destra è zero)
Questo è quello che mi ha dato più fastidio. Grazie. Capito!
1. E il C++, invece? . 2. Convalida- una funzione di un parametro. Forse dovremmo farlo alla vecchia maniera... ...alloca la memoria e mette in cache un bool per tutti i valori validi dell'argomento?
1. Beh, la lingua e l'ambiente non sono proprio il punto. Il punto è l'algoritmo stesso.
Verrà eseguito molte volte più velocemente delle seguenti linee:
int A = A6*100000+A5*10000+A4*1000+A3*100+A2*10+A1;
int B = B6*100000+B5*10000+B4*1000+B3*100+B2*10+B1;
E questa condizione si attiva più di una volta. Non è un cattivo guadagno di velocità. Anche se potrebbe non essere così significativo. Possiamo rimuoverlo e controllarlo. Ma sono ancora dalla parte che questa condizione si giustifica da sola.
int A = A6*100000+A5*10000+A4*1000+A3*100+A2*10+A1;
int B = B6*100000+B5*10000+B4*1000+B3*100+B2*10+B1;
E questa condizione si attiva più di una volta. Risulta essere un bel guadagno in termini di prestazioni. Anche se forse non è così considerevole. Potete rimuoverlo e controllarlo. Ma sono ancora dalla parte che questa condizione si giustifica
Ma sembra che non sia corretto. Per esempio, se A4==B4 la condizione sarà falsa, mentre i numeri possono essere diversi (per esempio 654321 e 124365)
Ho sbagliato... E sto parlando di velocità! :)) Non riesco a pensare bene. È passata l'ora di andare a letto. La mia ora locale è le 6:00 del mattino...
Ecco come si fa il codice:
for (int B1=1; B1<=6; B1++)
{
if (B1==B2 || B1==B3 || B1==B4 || B1==B5 || B1==B6) continue;
if (A6==B6 && A5==B5 && A4==B4 && A3==B3 && A2==B2 && A1==B1) continue;
int A = A6*100000+A5*10000+A4*1000+A3*100+A2*10+A1;
int B = B6*100000+B5*10000+B4*1000+B3*100+B2*10+B1;
if (A < B) continue;
if (MathMod(A,B)==0)
Print(A6,A5,A4,A3,A2,A1,"/",B6,B5,B4,B3,B2,B1,"=",A/B);
}
Questo è troppo.
if (A==B) continue;
if (MathMod(A,B)==0)
...perché lo script dovrebbe dividere il meno per il più...
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
MaxZ:
Capisco i cambiamenti. È solo che non l'ho ancora capito:
"|=" è l'OR logico? E poi è un vicolo cieco...
"|=" è in questo caso un "o" bitwise. Questa cosa solleva i bit di XX in posizioni uguali a A[i].
E se, dopo il ciclo, tutti i bit da uno a sei sono 1, significa che tutte le cifre da 1 a 6 si sono incontrate esattamente una volta nel numero X.
0x7E è la rappresentazione esadecimale del numero binario 1111110. (il bit di destra è zero)
O forse è in C++?
.
Convalida- funzione di un singolo parametro.
Forse dovremmo farlo alla vecchia maniera... alloca la memoria e mette in cache un bool
per tutti i valori validi dell'argomento?
In MQL è possibile aprire un ordine nel caso in cui, per qualche miracolo, i numeri dell'hockey si dividano equamente! :))
Ma seriamente, non sono sicuramente al tuo livello.
"|=" è un "o" bitwise in questo caso. Questa cosa alza i bit di XX in posizioni uguali a A[i].
E se dopo il ciclo tutti i bit da uno a sei sono 1, significa che tutte le cifre da 1 a 6 si presentano esattamente una volta nel numero X.
0x7E è la rappresentazione esadecimale del numero binario 1111110. (il bit di destra è zero)1. E il C++, invece?
.
2. Convalida- una funzione di un parametro.
Forse dovremmo farlo alla vecchia maniera... ...alloca la memoria e mette in cache un bool
per tutti i valori validi dell'argomento?
1. Beh, la lingua e l'ambiente non sono proprio il punto. Il punto è l'algoritmo stesso.
2....Uh...Cosa c'è di più?
Ma 125 ms non sta chiaramente recuperando.
Non dovresti farlo. La tua lettura è di 47 ms.
Peccato che tu non abbia una soluzione, è difficile confrontare i risultati... :)))
.
Ma continuo a non capire perché dobbiamo fare il confronto in base ai personaggi.
if(A6!=B6 && A5!=B5 && A4!=B4 && A3!=B3 && A2!=B2 && A1!=B1)
?
Sembrerebbe che le sovrapposizioni in una singola posizione siano acritiche?
Non dovresti farlo. La tua lettura è di 47 ms.
Peccato che tu non abbia una soluzione, è difficile confrontare i risultati... :)))
.
Ma continuo a non capire perché dobbiamo fare il confronto in base ai personaggi.
if(A6!=B6 && A5!=B5 && A4!=B4 && A3!=B3 && A2!=B2 && A1!=B1)
?
Mi sembra che le coincidenze in una singola posizione siano acritiche?
Guarda un po'! :DDD
Stavo lottando per la velocità.
Credo che la condizione:
if (A6 != B6 && A5 != B5 && A4 != B4 && A3 != B3 && A2 != B2 && A1 != B1)Verrà eseguito molte volte più velocemente delle seguenti linee:
E questa condizione si attiva più di una volta. Non è un cattivo guadagno di velocità. Anche se potrebbe non essere così significativo. Possiamo rimuoverlo e controllarlo. Ma sono ancora dalla parte che questa condizione si giustifica da sola.
Stavo lottando per la velocità:
Credo che la condizione:
if (A6 != B6 && A5 != B5 && A4 != B4 && A3 != B3 && A2 != B2 && A1 != B1)sarà molto più veloce delle linee seguenti:
E questa condizione si attiva più di una volta. Risulta essere un bel guadagno in termini di prestazioni. Anche se forse non è così considerevole. Potete rimuoverlo e controllarlo. Ma sono ancora dalla parte che questa condizione si giustifica
corretto, fatto così.
Lo stesso 47 ms.
Quindi - non c'è bisogno di preoccuparsi di questa condizione.
corretto, fatto così.
Lo stesso 47 ms.
Quindi - non preoccupatevi di questa condizione.
Ho sbagliato... E sto parlando di velocità! :)) Non riesco a pensare bene. È passata l'ora di andare a letto. La mia ora locale è le 6:00 del mattino...
Ecco come si fa il codice:
Questo è troppo.
...perché lo script dovrebbe dividere il meno per il più...
Merda. Volodya E devi congelare con quello? Ecco fatto - fuoco! Quante volte!
Il tuo è un maiale. Sinceramente...
È così che si fa con il codice:
Sì, così va meglio. 31 ms.
Svinozavr 22.08.2011 01:58
Merda. Volodya E questo è per congelare? Ecco - smettila! Quanto si può!
Il tuo è Maiale. Sinceramente...Capriccio d'artista.... :)
Le motivazioni mercantili diventano noiose in una settimana. A volte si può scendere per amore dell'arte. ;)