Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due moedelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-11-2006, 14:44   #1
lucas87
Bannato
 
Iscritto dal: Oct 2006
Messaggi: 170
C: numero primo

chi mi scrive un semplice algoritmo per vedere se un numero è primo oppure no?
lucas87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 14:49   #2
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Il piu famoso e anche semplice è il crivello di eratostene. http://it.wikipedia.org/wiki/Crivello_di_Eratostene
Se ti serve un esempio in qualche linguaggio basta chiedere.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 14:52   #3
lucas87
Bannato
 
Iscritto dal: Oct 2006
Messaggi: 170
Il punto è che non mi serve per vedere se una serie di numeri è primi, ma voglio sapere dato n da input, dire se questo è primo. il linguaggio è C.

grAZIE
lucas87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 14:59   #4
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Il modo più semplice è controllare che non sia divisibile per nessuno dei numeri dispari da 3 alla radice quadrata del numero che stai controllando.

Non esistono algoritmi efficienti per risolvere questo problema.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 15:03   #5
lucas87
Bannato
 
Iscritto dal: Oct 2006
Messaggi: 170
per questa volta mi posteresti direttamente un algoritmo abbastanza buono per fare quello che ho detto?
lucas87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 15:12   #6
icecube_HU
Member
 
L'Avatar di icecube_HU
 
Iscritto dal: May 2006
Messaggi: 71
Quote:
Originariamente inviato da ilsensine
Il modo più semplice è controllare che non sia divisibile per nessuno dei numeri dispari da 3 alla radice quadrata del numero che stai controllando.

Non esistono algoritmi efficienti per risolvere questo problema.
Gia' !

Per guadagnare un po' in efficienza, conviene sfruttare il fatto che tutti i numeri primi (tranne 2 e 3) sono della forma: 6*K +/- 1,
calcolando: r = N mod 6
Se r e' diverso da 1 o 5, il numero NON e' primo.
Poi si prosegue come hai indicato...

Ciao !
icecube_HU è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 15:16   #7
lucas87
Bannato
 
Iscritto dal: Oct 2006
Messaggi: 170
Vi sto chiedendo per favore di postarmi direttamente la codifica in C.

graZIE
lucas87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 15:26   #8
mdr268
Senior Member
 
L'Avatar di mdr268
 
Iscritto dal: Apr 2006
Città: TV-PD
Messaggi: 741
te la saprei fare in pascal, ma non in C..
mdr268 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 15:27   #9
lucas87
Bannato
 
Iscritto dal: Oct 2006
Messaggi: 170
Allora me la fai in pascal? poi traduco io. grazie tanto
lucas87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 15:28   #10
mdr268
Senior Member
 
L'Avatar di mdr268
 
Iscritto dal: Apr 2006
Città: TV-PD
Messaggi: 741
dammi 10 min..

dopo me lo posti tradotto così mi imparo un po' di C
mdr268 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 15:36   #11
icecube_HU
Member
 
L'Avatar di icecube_HU
 
Iscritto dal: May 2006
Messaggi: 71
Quote:
Originariamente inviato da lucas87
Vi sto chiedendo per favore di postarmi direttamente la codifica in C.
graZIE
Sorry, I don't speak C.

Pero' in VB o VBA e':
Codice:
Function IsPrime(N As Long) As Boolean
   Dim r As Long
   If N <= 0 Then Err.Raise 5, "IsPrime", "Argomento errato !"
   If N <= 3 Then
      IsPrime = True
   Else
      r = N Mod 6
      If r = 1 Or r = 5 Then
         For r = 3 To Sqr(N) Step 2
            If (N Mod r) = 0 Then Exit Function
         Next
         IsPrime = True
      End If
   End If
End Function
Non dovrebbe esserti troppo difficile tradurlo in C...

Ciao !



EDIT: come giustamente fatto notare, 1 NON E' primo !!
Basterebbe una piccola modifica alla routine, ma a questo punto conviene riscriverla col costrutto Select, piu' efficiente:
Codice:
Public Function IsPrime(n As Long) As Boolean
   Dim r As Long
   Select Case n
      Case Is < 0: Err.Raise 5, "IsPrime", "Argomento errato !"
      Case 0, 1: 'niente, non sono primi
      Case 2, 3: IsPrime = True
      Case Else
         r = n Mod 6
         If r = 1 Or r = 5 Then
            For r = 3 To Sqr(n) Step 2
               If (n Mod r) = 0 Then Exit Function
            Next
            IsPrime = True
         End If
   End Select
End Function

Ultima modifica di icecube_HU : 23-11-2006 alle 08:45.
icecube_HU è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 15:40   #12
mdr268
Senior Member
 
L'Avatar di mdr268
 
Iscritto dal: Apr 2006
Città: TV-PD
Messaggi: 741
avevo quasi finito in pascal, ma visto che ti è arrivata la soluzione in vb lascio quella che è fatta meglio ^^
mdr268 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 16:42   #13
lucas87
Bannato
 
Iscritto dal: Oct 2006
Messaggi: 170
Grazie a tutti.
lucas87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 16:52   #14
lucas87
Bannato
 
Iscritto dal: Oct 2006
Messaggi: 170
una sola cosa. cosa vuol dire step 2, che incrementa di 2 il contatore?
lucas87 è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 17:59   #15
icecube_HU
Member
 
L'Avatar di icecube_HU
 
Iscritto dal: May 2006
Messaggi: 71
Quote:
Originariamente inviato da lucas87
una sola cosa. cosa vuol dire step 2, che incrementa di 2 il contatore?
Si' !
icecube_HU è offline   Rispondi citando il messaggio o parte di esso
Old 21-11-2006, 20:09   #16
mdr268
Senior Member
 
L'Avatar di mdr268
 
Iscritto dal: Apr 2006
Città: TV-PD
Messaggi: 741
potresti incollare la tua traduzione in C? sono curioso di sapere come hai fatto a tradurre l'incremento di 2..

un altra cosa, cosa vuol dire err raise?
mdr268 è offline   Rispondi citando il messaggio o parte di esso
Old 22-11-2006, 08:39   #17
icecube_HU
Member
 
L'Avatar di icecube_HU
 
Iscritto dal: May 2006
Messaggi: 71
Quote:
Originariamente inviato da mdr268
potresti incollare la tua traduzione in C? sono curioso di sapere come hai fatto a tradurre l'incremento di 2..

un altra cosa, cosa vuol dire err raise?
Genera un errore "Invalid argument" se si calcola la funzione per valori negativi o uguali a zero, per i quali non e' definita.

Lo stesso che avviene, ad esempio, per la funzione standard Log().
icecube_HU è offline   Rispondi citando il messaggio o parte di esso
Old 22-11-2006, 11:06   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da mdr268
potresti incollare la tua traduzione in C? sono curioso di sapere come hai fatto a tradurre l'incremento di 2..
i+=2 invece di i++ nel for...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-11-2006, 11:22   #19
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Quote:
Originariamente inviato da lucas87
voglio sapere dato n da input, dire se questo è primo
Vuoi sapere tu, o ti ha dato l'esercizio il prof?
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 22-11-2006, 13:57   #20
lucas87
Bannato
 
Iscritto dal: Oct 2006
Messaggi: 170
int is_prime(int a){

long r;
if (a==0){
return 0;
}
if (a<=3){
return 1;
}
else {
r=a % 6;
if ((r==1) || (r==5)){
for (r=3;r<=sqrt(a);r=r+2){
if ((a % r) == 0){
return 1;
}
else {
return 0;
}
}

}
}
}


ritorna 1 se è primo, zero se non lo è.
lucas87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Occhiali smart, Instagram bannerà chi re...
L'UE approva PRIMA: il chip fotovoltaico...
Nothing smentisce l'uscita da alcuni mer...
Tassa sui pacchi extra-UE, Giorgetti: da...
Jensen Huang esordisce su X: 'non mettet...
Ha reso lo smartphone e Amazon lo ha 'pe...
TOP 10 offerte del weekend Amazon: ai pr...
TV LG C6 e B5 da 55 pollici: due OLED da...
Tomb Raider: Catalyst rinviato al 2028, ...
Lefant M210 Omni a 265,99€: il robot sli...
Paramount sospende la fusione con Warner...
Migliaia di PC portatili su Amazon, ma s...
SIHOO B100 a 169,99€ ma ha una rivale lo...
NVIDIA conquista anche la Luna: c'&egrav...
3 Samsung Galaxy in offerta su Amazon: S...
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: 11:45.


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