Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-01-2011, 09:55   #1
Noixe
Member
 
Iscritto dal: Aug 2008
Messaggi: 51
[Esercizio] Numeri di telefono

Mi è venuto in mente questo simpatico esercizio.

Quando bisogna leggere un numero di telefono, c'è chi lo fa cifra per cifra, chi legge due cifre per volta, chi magari ne legge prima tre e poi le rimanenti, etc... così mi sono chiesto:

1. Quanti sono tutti i modi possibili di leggere un numero di telefono?

2. Quale algoritmo è in grado di generarli tutti?

Ad esempio dato il numero 1234 i modi possibili sono 8:

1 234 (uno duecentotrentaquattro)
1 2 34 (uno due trentaquattro)
1 2 3 4 (uno due tre quattro)
1 23 4 (uno ventitre quattro)
12 34 (dodici trentaquattro)
12 3 4 (dodici tre quattro)
123 4 (centoventitre quattro)
1234 (milleduecentotrentaquattro)

Scrivere un algoritmo che data una stringa di numeri in input, generi i vari modi in cui le cifre possono essere raggruppate e lette.

Infine scrivere quanti sono i modi possibili di leggere un numero di n cifre.

Saluti

P.S.: Questo messaggio va interpretato come un piccolo contest e non come una richiesta di risoluzione dei compiti per casa

Ultima modifica di Noixe : 31-01-2011 alle 10:03.
Noixe è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2011, 14:15   #2
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 17:14.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2011, 15:39   #3
zuper
Senior Member
 
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
Quote:
Originariamente inviato da Noixe Guarda i messaggi
Mi è venuto in mente questo simpatico esercizio.

Quando bisogna leggere un numero di telefono, c'è chi lo fa cifra per cifra, chi legge due cifre per volta, chi magari ne legge prima tre e poi le rimanenti, etc... così mi sono chiesto:

1. Quanti sono tutti i modi possibili di leggere un numero di telefono?

2. Quale algoritmo è in grado di generarli tutti?

Ad esempio dato il numero 1234 i modi possibili sono 8:

1 234 (uno duecentotrentaquattro)
1 2 34 (uno due trentaquattro)
1 2 3 4 (uno due tre quattro)
1 23 4 (uno ventitre quattro)
12 34 (dodici trentaquattro)
12 3 4 (dodici tre quattro)
123 4 (centoventitre quattro)
1234 (milleduecentotrentaquattro)

Scrivere un algoritmo che data una stringa di numeri in input, generi i vari modi in cui le cifre possono essere raggruppate e lette.

Infine scrivere quanti sono i modi possibili di leggere un numero di n cifre.

Saluti

P.S.: Questo messaggio va interpretato come un piccolo contest e non come una richiesta di risoluzione dei compiti per casa
http://it.wikipedia.org/wiki/Excusat...atio_manifesta

__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi.
L'una o l'altra inutile scandalizzarsi.[plutus]
zuper è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2011, 15:58   #4
Noixe
Member
 
Iscritto dal: Aug 2008
Messaggi: 51
Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
Se 'n' e' il numero di cifre di cui e' composto il numero telefonico, il numero dei modi possibili di leggerlo (secondo il tuo schema) e': 2^(n-1).
In effetti dallo schema si ricava facilmente, non avrei dovuto postarlo


Quote:
Originariamente inviato da rеpne scasb Guarda i messaggi
Un "semplice" algoritmo ricorsivo, tenendo conto che se f(k,n) rappresentano le 'k' combinazioni di un numero telefonico di 'n' cifre, espresse in s(k,m) gruppi numerici, allora f(k+1) = 2 * f(k) e s(k+1,m+1) = 1+s(k,m) + s(k+1,m)
Umh... volevi dire f(k, n+1) = 2 * f(k, n) forse?
Mentre non ho ben capito cosa indicano i gruppi numerici s(k, m).
Intendi dire le combinazioni vere e proprie?
Quindi s(k, n+1) = s(k, n) + s(k, n-1) + ... + 1?

In ogni caso, richiedevo l'algoritmo funzionante

Ultima modifica di Noixe : 31-01-2011 alle 16:05.
Noixe è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2011, 15:59   #5
Noixe
Member
 
Iscritto dal: Aug 2008
Messaggi: 51
Quote:
Originariamente inviato da zuper Guarda i messaggi
LOL, l'algoritmo l'ho scritto già a suo tempo

Ecco l'output dell'algoritmo con un numero di 10 cifre (che di sicuro non ho scritto manualmente a differenza di quello postato inizialmente )

Codice:
0 123456789
0 1 23456789
0 1 2 3456789
0 1 2 3 456789
0 1 2 3 4 56789
0 1 2 3 4 5 6789
0 1 2 3 4 5 6 789
0 1 2 3 4 5 6 7 89
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 78 9
0 1 2 3 4 5 67 89
0 1 2 3 4 5 67 8 9
0 1 2 3 4 5 678 9
0 1 2 3 4 56 789
0 1 2 3 4 56 7 89
0 1 2 3 4 56 7 8 9
0 1 2 3 4 56 78 9
0 1 2 3 4 567 89
0 1 2 3 4 567 8 9
0 1 2 3 4 5678 9
0 1 2 3 45 6789
0 1 2 3 45 6 789
0 1 2 3 45 6 7 89
0 1 2 3 45 6 7 8 9
0 1 2 3 45 6 78 9
0 1 2 3 45 67 89
0 1 2 3 45 67 8 9
0 1 2 3 45 678 9
0 1 2 3 456 789
0 1 2 3 456 7 89
0 1 2 3 456 7 8 9
0 1 2 3 456 78 9
0 1 2 3 4567 89
0 1 2 3 4567 8 9
0 1 2 3 45678 9
0 1 2 34 56789
0 1 2 34 5 6789
0 1 2 34 5 6 789
0 1 2 34 5 6 7 89
0 1 2 34 5 6 7 8 9
0 1 2 34 5 6 78 9
0 1 2 34 5 67 89
0 1 2 34 5 67 8 9
0 1 2 34 5 678 9
0 1 2 34 56 789
0 1 2 34 56 7 89
0 1 2 34 56 7 8 9
0 1 2 34 56 78 9
0 1 2 34 567 89
0 1 2 34 567 8 9
0 1 2 34 5678 9
0 1 2 345 6789
0 1 2 345 6 789
0 1 2 345 6 7 89
0 1 2 345 6 7 8 9
0 1 2 345 6 78 9
0 1 2 345 67 89
0 1 2 345 67 8 9
0 1 2 345 678 9
0 1 2 3456 789
0 1 2 3456 7 89
0 1 2 3456 7 8 9
0 1 2 3456 78 9
0 1 2 34567 89
0 1 2 34567 8 9
0 1 2 345678 9
0 1 23 456789
0 1 23 4 56789
0 1 23 4 5 6789
0 1 23 4 5 6 789
0 1 23 4 5 6 7 89
0 1 23 4 5 6 7 8 9
0 1 23 4 5 6 78 9
0 1 23 4 5 67 89
0 1 23 4 5 67 8 9
0 1 23 4 5 678 9
0 1 23 4 56 789
0 1 23 4 56 7 89
0 1 23 4 56 7 8 9
0 1 23 4 56 78 9
0 1 23 4 567 89
0 1 23 4 567 8 9
0 1 23 4 5678 9
0 1 23 45 6789
0 1 23 45 6 789
0 1 23 45 6 7 89
0 1 23 45 6 7 8 9
0 1 23 45 6 78 9
0 1 23 45 67 89
0 1 23 45 67 8 9
0 1 23 45 678 9
0 1 23 456 789
0 1 23 456 7 89
0 1 23 456 7 8 9
0 1 23 456 78 9
0 1 23 4567 89
0 1 23 4567 8 9
0 1 23 45678 9
0 1 234 56789
0 1 234 5 6789
0 1 234 5 6 789
0 1 234 5 6 7 89
0 1 234 5 6 7 8 9
0 1 234 5 6 78 9
0 1 234 5 67 89
0 1 234 5 67 8 9
0 1 234 5 678 9
0 1 234 56 789
0 1 234 56 7 89
0 1 234 56 7 8 9
0 1 234 56 78 9
0 1 234 567 89
0 1 234 567 8 9
0 1 234 5678 9
0 1 2345 6789
0 1 2345 6 789
0 1 2345 6 7 89
0 1 2345 6 7 8 9
0 1 2345 6 78 9
0 1 2345 67 89
0 1 2345 67 8 9
0 1 2345 678 9
0 1 23456 789
0 1 23456 7 89
0 1 23456 7 8 9
0 1 23456 78 9
0 1 234567 89
0 1 234567 8 9
0 1 2345678 9
0 12 3456789
0 12 3 456789
0 12 3 4 56789
0 12 3 4 5 6789
0 12 3 4 5 6 789
0 12 3 4 5 6 7 89
0 12 3 4 5 6 7 8 9
0 12 3 4 5 6 78 9
0 12 3 4 5 67 89
0 12 3 4 5 67 8 9
0 12 3 4 5 678 9
0 12 3 4 56 789
0 12 3 4 56 7 89
0 12 3 4 56 7 8 9
0 12 3 4 56 78 9
0 12 3 4 567 89
0 12 3 4 567 8 9
0 12 3 4 5678 9
0 12 3 45 6789
0 12 3 45 6 789
0 12 3 45 6 7 89
0 12 3 45 6 7 8 9
0 12 3 45 6 78 9
0 12 3 45 67 89
0 12 3 45 67 8 9
0 12 3 45 678 9
0 12 3 456 789
0 12 3 456 7 89
0 12 3 456 7 8 9
0 12 3 456 78 9
0 12 3 4567 89
0 12 3 4567 8 9
0 12 3 45678 9
0 12 34 56789
0 12 34 5 6789
0 12 34 5 6 789
0 12 34 5 6 7 89
0 12 34 5 6 7 8 9
0 12 34 5 6 78 9
0 12 34 5 67 89
0 12 34 5 67 8 9
0 12 34 5 678 9
0 12 34 56 789
0 12 34 56 7 89
0 12 34 56 7 8 9
0 12 34 56 78 9
0 12 34 567 89
0 12 34 567 8 9
0 12 34 5678 9
0 12 345 6789
0 12 345 6 789
0 12 345 6 7 89
0 12 345 6 7 8 9
0 12 345 6 78 9
0 12 345 67 89
0 12 345 67 8 9
0 12 345 678 9
0 12 3456 789
0 12 3456 7 89
0 12 3456 7 8 9
0 12 3456 78 9
0 12 34567 89
0 12 34567 8 9
0 12 345678 9
0 123 456789
0 123 4 56789
0 123 4 5 6789
0 123 4 5 6 789
0 123 4 5 6 7 89
0 123 4 5 6 7 8 9
0 123 4 5 6 78 9
0 123 4 5 67 89
0 123 4 5 67 8 9
0 123 4 5 678 9
0 123 4 56 789
0 123 4 56 7 89
0 123 4 56 7 8 9
0 123 4 56 78 9
0 123 4 567 89
0 123 4 567 8 9
0 123 4 5678 9
0 123 45 6789
0 123 45 6 789
0 123 45 6 7 89
0 123 45 6 7 8 9
0 123 45 6 78 9
0 123 45 67 89
0 123 45 67 8 9
0 123 45 678 9
0 123 456 789
0 123 456 7 89
0 123 456 7 8 9
0 123 456 78 9
0 123 4567 89
0 123 4567 8 9
0 123 45678 9
0 1234 56789
0 1234 5 6789
0 1234 5 6 789
0 1234 5 6 7 89
0 1234 5 6 7 8 9
0 1234 5 6 78 9
0 1234 5 67 89
0 1234 5 67 8 9
0 1234 5 678 9
0 1234 56 789
0 1234 56 7 89
0 1234 56 7 8 9
0 1234 56 78 9
0 1234 567 89
0 1234 567 8 9
0 1234 5678 9
0 12345 6789
0 12345 6 789
0 12345 6 7 89
0 12345 6 7 8 9
0 12345 6 78 9
0 12345 67 89
0 12345 67 8 9
0 12345 678 9
0 123456 789
0 123456 7 89
0 123456 7 8 9
0 123456 78 9
0 1234567 89
0 1234567 8 9
0 12345678 9
01 23456789
01 2 3456789
01 2 3 456789
01 2 3 4 56789
01 2 3 4 5 6789
01 2 3 4 5 6 789
01 2 3 4 5 6 7 89
01 2 3 4 5 6 7 8 9
01 2 3 4 5 6 78 9
01 2 3 4 5 67 89
01 2 3 4 5 67 8 9
01 2 3 4 5 678 9
01 2 3 4 56 789
01 2 3 4 56 7 89
01 2 3 4 56 7 8 9
01 2 3 4 56 78 9
01 2 3 4 567 89
01 2 3 4 567 8 9
01 2 3 4 5678 9
01 2 3 45 6789
01 2 3 45 6 789
01 2 3 45 6 7 89
01 2 3 45 6 7 8 9
01 2 3 45 6 78 9
01 2 3 45 67 89
01 2 3 45 67 8 9
01 2 3 45 678 9
01 2 3 456 789
01 2 3 456 7 89
01 2 3 456 7 8 9
01 2 3 456 78 9
01 2 3 4567 89
01 2 3 4567 8 9
01 2 3 45678 9
01 2 34 56789
01 2 34 5 6789
01 2 34 5 6 789
01 2 34 5 6 7 89
01 2 34 5 6 7 8 9
01 2 34 5 6 78 9
01 2 34 5 67 89
01 2 34 5 67 8 9
01 2 34 5 678 9
01 2 34 56 789
01 2 34 56 7 89
01 2 34 56 7 8 9
01 2 34 56 78 9
01 2 34 567 89
01 2 34 567 8 9
01 2 34 5678 9
01 2 345 6789
01 2 345 6 789
01 2 345 6 7 89
01 2 345 6 7 8 9
01 2 345 6 78 9
01 2 345 67 89
01 2 345 67 8 9
01 2 345 678 9
01 2 3456 789
01 2 3456 7 89
01 2 3456 7 8 9
01 2 3456 78 9
01 2 34567 89
01 2 34567 8 9
01 2 345678 9
01 23 456789
01 23 4 56789
01 23 4 5 6789
01 23 4 5 6 789
01 23 4 5 6 7 89
01 23 4 5 6 7 8 9
01 23 4 5 6 78 9
01 23 4 5 67 89
01 23 4 5 67 8 9
01 23 4 5 678 9
01 23 4 56 789
01 23 4 56 7 89
01 23 4 56 7 8 9
01 23 4 56 78 9
01 23 4 567 89
01 23 4 567 8 9
01 23 4 5678 9
01 23 45 6789
01 23 45 6 789
01 23 45 6 7 89
01 23 45 6 7 8 9
01 23 45 6 78 9
01 23 45 67 89
01 23 45 67 8 9
01 23 45 678 9
01 23 456 789
01 23 456 7 89
01 23 456 7 8 9
01 23 456 78 9
01 23 4567 89
01 23 4567 8 9
01 23 45678 9
01 234 56789
01 234 5 6789
01 234 5 6 789
01 234 5 6 7 89
01 234 5 6 7 8 9
01 234 5 6 78 9
01 234 5 67 89
01 234 5 67 8 9
01 234 5 678 9
01 234 56 789
01 234 56 7 89
01 234 56 7 8 9
01 234 56 78 9
01 234 567 89
01 234 567 8 9
01 234 5678 9
01 2345 6789
01 2345 6 789
01 2345 6 7 89
01 2345 6 7 8 9
01 2345 6 78 9
01 2345 67 89
01 2345 67 8 9
01 2345 678 9
01 23456 789
01 23456 7 89
01 23456 7 8 9
01 23456 78 9
01 234567 89
01 234567 8 9
01 2345678 9
012 3456789
012 3 456789
012 3 4 56789
012 3 4 5 6789
012 3 4 5 6 789
012 3 4 5 6 7 89
012 3 4 5 6 7 8 9
012 3 4 5 6 78 9
012 3 4 5 67 89
012 3 4 5 67 8 9
012 3 4 5 678 9
012 3 4 56 789
012 3 4 56 7 89
012 3 4 56 7 8 9
012 3 4 56 78 9
012 3 4 567 89
012 3 4 567 8 9
012 3 4 5678 9
012 3 45 6789
012 3 45 6 789
012 3 45 6 7 89
012 3 45 6 7 8 9
012 3 45 6 78 9
012 3 45 67 89
012 3 45 67 8 9
012 3 45 678 9
012 3 456 789
012 3 456 7 89
012 3 456 7 8 9
012 3 456 78 9
012 3 4567 89
012 3 4567 8 9
012 3 45678 9
012 34 56789
012 34 5 6789
012 34 5 6 789
012 34 5 6 7 89
012 34 5 6 7 8 9
012 34 5 6 78 9
012 34 5 67 89
012 34 5 67 8 9
012 34 5 678 9
012 34 56 789
012 34 56 7 89
012 34 56 7 8 9
012 34 56 78 9
012 34 567 89
012 34 567 8 9
012 34 5678 9
012 345 6789
012 345 6 789
012 345 6 7 89
012 345 6 7 8 9
012 345 6 78 9
012 345 67 89
012 345 67 8 9
012 345 678 9
012 3456 789
012 3456 7 89
012 3456 7 8 9
012 3456 78 9
012 34567 89
012 34567 8 9
012 345678 9
0123 456789
0123 4 56789
0123 4 5 6789
0123 4 5 6 789
0123 4 5 6 7 89
0123 4 5 6 7 8 9
0123 4 5 6 78 9
0123 4 5 67 89
0123 4 5 67 8 9
0123 4 5 678 9
0123 4 56 789
0123 4 56 7 89
0123 4 56 7 8 9
0123 4 56 78 9
0123 4 567 89
0123 4 567 8 9
0123 4 5678 9
0123 45 6789
0123 45 6 789
0123 45 6 7 89
0123 45 6 7 8 9
0123 45 6 78 9
0123 45 67 89
0123 45 67 8 9
0123 45 678 9
0123 456 789
0123 456 7 89
0123 456 7 8 9
0123 456 78 9
0123 4567 89
0123 4567 8 9
0123 45678 9
01234 56789
01234 5 6789
01234 5 6 789
01234 5 6 7 89
01234 5 6 7 8 9
01234 5 6 78 9
01234 5 67 89
01234 5 67 8 9
01234 5 678 9
01234 56 789
01234 56 7 89
01234 56 7 8 9
01234 56 78 9
01234 567 89
01234 567 8 9
01234 5678 9
012345 6789
012345 6 789
012345 6 7 89
012345 6 7 8 9
012345 6 78 9
012345 67 89
012345 67 8 9
012345 678 9
0123456 789
0123456 7 89
0123456 7 8 9
0123456 78 9
01234567 89
01234567 8 9
012345678 9
0123456789

Ultima modifica di Noixe : 31-01-2011 alle 16:09.
Noixe è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2011, 18:01   #6
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 17:14.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2011, 18:06   #7
rеpne scasb
Senior Member
 
Iscritto dal: May 2008
Messaggi: 533

Ultima modifica di rеpne scasb : 18-06-2012 alle 17:14.
rеpne scasb è offline   Rispondi citando il messaggio o parte di esso
Old 31-01-2011, 18:57   #8
Noixe
Member
 
Iscritto dal: Aug 2008
Messaggi: 51
Interessante anche questo metodo, ma come dicevo prima, l'obiettivo del messaggio era quello di scrivere un codice funzionante.

Ecco la mia soluzione in C++:

Codice:
#include <iostream>
#include <string>

using namespace std;

string CombNumTel(string s, string t = "") {

   for (int i = 0; i < s.size() - 1; i++) {
       string pre = s.substr(0, i + 1) + " ";
       string post = s.substr(i + 1);
       cout << t << pre << post << endl;
       CombNumTel(post, t + pre);
   };

   return s;
}


int main() {

   cout << CombNumTel("1234") << endl;

   return 0;
}

Ultima modifica di Noixe : 31-01-2011 alle 19:13.
Noixe è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Secondo NVIDIA, i 660 miliardi di dollar...
Qualcomm punta sulla flessibilità...
Amazon sconta schede video, CPU e access...
Halo: Campaign Evolved, l'uscita del rem...
La rete elettrica europea sta limitando ...
Apple Magic Keyboard per iPad Pro 11'' i...
BYD punta a nuove tecnologie: batterie a...
Windows 11 porta il Bluetooth multi-disp...
iPhone 17e e non solo: Gurman svela le c...
Arrestato per omicidio, in lacrime ai po...
Vexilar, scopa elettrica da 65000Pa, 4,9...
Linux 7.0 sarà la prossima versio...
Windows 11: Copilot AI entra anche nella...
Apple apre CarPlay ai chatbot di terze p...
Horses: Santa Ragione afferma di essere ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:35.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v