Bună și bunvenit.
Aș dori să ofer o demonstrație o soluție la provocarea noastră anterioară, care a fost de a scrie
un program care generează prime numere.
Și din nou, tot acest punct al acestui program era de a folosi o matrice.
Vrei să afli totul despre matrice în Dubai făcând acest lucru, așa că am încercat să
descriu algoritmul numărului prime înainte, dar doar să-l menționez din nou puteți verifica dacă un prime este sau nu un număr prime.
În principiu, înseamnă că dacă numărul prime înseamnă că nu este divizibil în mod uniform de nici un alt
număr prime.
Și așa este noțiunea Algon că vom merge.
Iar motivul pentru care este un număr prime este că, dacă este orice număr non-prime poate fi exprimat
ca un multiplu de prim factori De exemplu, 20 are principalii factori 2 2 și 5 și astfel știind acest lucru vă spune
că numerele Prime nu sunt chiar vizibile de nici un alt număr prime.
Și astfel, acest lucru poate ajuta la efectuarea unui test foarte eficient al numărului de prime.
Ceea ce puteți face este să puteți verifica numerele prime generate
anterior pentru a putea stoca numerele primelor generate într-un matrice și astfel găsim aceste informații.
De asemenea, oricare dintre cele nouă prime prime întregi trebuie să aibă unul dintre factorii săi o imagine mai mică sau egală
cu rădăcina pătrată a acesteia.
Deci, acest lucru înseamnă că este necesar doar să determinați dacă un număr întreg este prime.
Testarea acesteia pentru chiar divizibilitate împotriva tuturor factorilor primi până la rădăcina pătrată a managerului.
Deci, te poți opri chiar acolo și din nou o face mai eficientă.
Acest lucru se va observa în bucla mea interioară atunci când mă sari pentru a stabili dacă am găsit un număr.
Voi sari daca nu o voi gasi daca ajung la radacina patra a intregului.
Este o condiție de ieșire în esență.
Deci, haideți să treceți în modul în care puteți verifica pentru că, dacă tocmai ați spus P divizat prin primes este mai mare decât
prime.
Deci, și o vom folosi în bucla interioară pentru a testa dacă valoarea depășește sau nu rădăcina pătrată a
primelor.
Hai să mergem mai departe și să aducem blocuri de cod.
Începe să scrii un cod.
Vom face aici elementele de bază.
Crearea unui proiect va numi proiectul nostru numit primes.
Deci, are un
nou proiect și să mergem la aplicația de consolă și
vom numi un primes.
Deci, în continuare nu vom folosi acest compilator pe care îl vom folosi.
Mă jucam cu compilatorii.
Vreau să mă asigur că am compilatorul potrivit.
Voi folosi doar compilatorul Cygwin.
C. finalizarea.
Deci, aceasta a generat fișierul meu sursă principal și este gol.
Scapă de imprimare și începe să scrie un cod.
Așa că vom începe să începem.
Practic, vom include un fișier numit Standard bool, astfel încât să putem.
Nu am facut asta inca mi-am creat booleanii ca subliniere, dar vrem
sa spunem doar ca cred ca ar fi bine.
Să facem doar un test.
Vreau să pot face rău.
Așa că acum putem folosi răul.
Deci, în mod normal, în C. A. T. 9 tipul de date pentru adevărat sau fals este sublinierea bool, dar
puteți avea de fapt o definiție de tip.
În versiunile mai târziu și în fișierul standard bool pentru a utiliza numai bule și, de asemenea,
vă permite să utilizați adevărate valori false.
Așa că mai întâi trebuie să creăm câteva variabile.
Vom crea cronometrul nostru pe care o vom numi P.
Acesta va fi contorul nostru pentru bucla noastră de la Dumnezeu când verificăm de la Peter sute de numere.
Asta va fi bucla noastră exterioară.
De asemenea, vom crea o variabilă pentru contorul nostru de bucla interioară.
Aici verificăm primii noștri anteriori, așa că vom stabili acest lucru la X și inițiatorul nu vrea să realizeze
acest lucru în buclă.
Vom crea matricea noastră care va fi un prim primar și va avea dimensiunea
50 și nu o vom inițializa la nimic altceva decât zero și apoi
vom crea un index principal și acest lucru ne va ajuta să renunțăm la toate numerele noastre
parțiale și vom stabili doar la două.
Și că această variabilă se va asigura de fapt că vom începe la indexul corect
deoarece vom codifica cu greu primele două numere.
Deci asta e tot ce vom face pentru noi.
Vom codifica greu primele două numere prime.
Deci, astfel putem accesa modul în care știm cum să creăm un tablou pe linia 10.
Trebuie doar să specificați fișierul de tip de date după nume și apoi în paranteze pătrate să specificăm dimensiunea și
apoi să inițializăm totul la zero.
Aceasta este o scenă
nouăzeci de trăsături pe care o putem face și să alocăm date unei matrice. Pot spune doar că există un nume și apoi
valoarea indexului.
Amintiți-vă în matrice sunt bazate pe zero.
Cineva să spună Prime Sub-Zero.
Și primul Prime va fi la doi este primul număr prime.
Al doilea număr prime va fi egal cu 3.
Acest fel de numere prime pe care le pot testa anterior pentru a vedea dacă să găsească premii suplimentare.
Și acum vine buclele noastre.
Vom avea nevoie de un exterior pentru o buclă care trece prin toate numerele de la 5 până la 100.
Știm că nu este un număr prime, așa că încep doar de la 5.
Deci putem spune că pentru 5 P este mai mic decât egal cu 100 și apoi vom sări peste numerele.
Deci, vom spune că p este egal cu P plus 2.
Nu trebuie să ne uităm în cifre și asta va fi bucla noastră exterioară.
Din nou ar trebui să testați pe măsură ce mergeți.
Acum, de asemenea, vom configura o variabilă booleană care ne va spune dacă am găsit sau nu un
număr prime.
Deci aici este locul unde pot folosi bool.
Și voi crea doar o variabilă locală.
Boolean este prim.
Și voi avea acel inițializat să spun că este adevărat, deoarece este adevărat pentru că o
să-l pun doar la falsă dacă am trecut prin întreaga listă de prime primite anterior sau trebuie să cea mai
recentă și asigurați-vă că nu este rădăcina pătrată.
Deci este prime va fi egal cu adevărat pentru fiecare iterație de la 5 la 100.
Sari peste.
Acum, bucla mea interioară va fi să treacă prin toate numerele noastre
prime pe care le-am generat anterior și va merge până când vom vedea asigurați-vă că rădăcina pătrată nu este.
Nu am mers mai mare decât rădăcina pătrată a lui I, așa că vom trece prin toate numerele până ajungem
în piața care poate fi condiția noastră de ieșire.
De asemenea, vom merge la X, dacă găsim un număr prime, așa că vom spune
dacă prima lui este adevărată și am depășit limita noastră care va fi împărțită de Prime Sabai este mai mare decât mai mare decât
sau egal cu primii.
Ai.
Și apoi vom merge la plus plus dimensiunea sunt controlul albastru.
Aceasta este cu adevărat cheia pentru Elger.
Așa că vom încerca să găsim toate primii noștri de la 5 la 100, sărind chiar numere și apoi în bucla
noastră de câștigător vom începe la 1.
Vom merge până când vom spune fie că suntem prime pentru adevărat, fie că am ajuns la condiția noastră X,
care este numărul împărțit de Prime Sabai este mai mare decât prime.
Deci, până atunci, acest lucru se termină, în esență, pentru a ne face atunci când găsim o rădăcină pătrată deoarece
aceasta este o altă condiție a algoritmului.
Și dacă vreunul dintre aceștia, dacă aceasta este bucla noastră în interiorul bucla noastră, vom verifica de fapt pentru primii așa cum știi
că un număr este prime.
Dacă îi împărțiți numărul și dacă nu este divizibil.
Dacă nu aveți zero, atunci sunteți bine să mergeți.
Deci, puteți face doar o rezolvare a primei soluții AI egale cu zero.
Și dacă este adevărat, atunci nu aveți un număr prime.
Deci, puteți seta booleanul egal cu falsul și apoi asta facem
pentru întreaga buclă deoarece tot ceea ce facem este că vom seta
mingea într-un fals și asta ne va spune că nu am găsit că găsim un prim astfel încât nu dorim să adăugăm P
la
matricea primes OK.
Deci, ultimul lucru pe care trebuie să-l facem este să verificăm dacă booleanul a fost setat la adevărat dacă
a fost setat la True.
Apoi am vrut să umplem matricea pe care o dorim să o adăugăm la matrice.
Așadar, adăugăm la matricele pe care le găsim primes, așa că spunem doar primes și apoi spunem indicele prim, deoarece amintim
că acesta este cel care este într-adevăr reprezentat de index pentru locul în care vrem să punem
în matricea pe care dorim să o începem elementul 3 care este indexul 2.
Așadar, vrem să ne asigurăm că am pus-o la locul potrivit în matrice și am pus-o la p, deoarece P a fost
primul număr pe care l-am găsit deoarece amintesc că aceasta este bucla exterioară.
Asta e problema pe care încercăm să o verificăm dacă e un număr prime.
Începem la cinci.
Spunem că cinci cinci vor fi prime.
Dacă putem merge la aceste numere începând de la 1 și apoi comparăm cu orice primă precedentă și dacă
nu divizibilă cu 0, atunci suntem buni și trebuie să facem asta pentru tot.
Și apoi ultimul lucru pe care vrem să-l facem este să vrem doar să
creștem acel indice prim, astfel încât data viitoare când vom găsi un număr prime suntem în indexul potrivit și asta este.
Și acesta este întregul algoritm pentru a găsi numere prime.
Deci, vrei să salvezi asta și să o construiești, să te asiguri că totul e bine să mergi.
Suntem buni.
Așadar, îmi place să adaug valori false adevărate prin includerea regulii standard.
Ei bine, uitați de asta și apoi ultimul lucru pe care trebuie să-l facem este că trebuie să
tipărim numerele prime astfel încât să putem avea o simplă buclă și le vom imprima pe toate în aceeași linie.
Deci nu vom adăuga un feed de linie.
Așadar, ceea ce vom face este să citim variabila de control al stingerii sau buclă la 0.
Vom merge până la indicele nostru principal, care va fi dimensiunea a tot ceea ce se află în
matrice și va fi imprimat și un singur procent va muri.
Sau D în prime.
Deci, până la urmă, la o linie vom alimenta ceva de genul
ăsta
cu Michael, dar din nou lucrurile de observat în acest program au remarcat mai întâi indentația în care sunt foarte multe
blocuri și uneori folosim paranteze atunci când avem mai multe afirmații în interiorul blocurilor noastre.
Uneori nu o facem.
Și această afirmație dacă douăzeci și cinci de cinci noi nu am folosi nici o paranteză pentru bucle ar trebui să devină oarecum a
doua natură până acum.
Într-adevăr ceea ce doriți să obțineți din această sarcină este ștergerea.
Așadar, creăm o matrice numită primes setând dimensiunea 50 inițializând totul la zero.
Și apoi punem primele două elemente la două și trei.
Și atunci întregul algoritm pentru 19 linii 32 determină dacă este prim.
Privind la matrice și la numerele precedente prime și, de asemenea, săriți când sunteți mai mare
decât rădăcina pătrată.
Așa că din nou vedeți aici multe paranteze pătrate.
Pentru a accesa matricele și pentru a atribui valori matricei și tot.
E destul de simplu.
Deci, să construim acest lucru și să vedem ce se întâmplă.
Nu avem avertismente fără erori.
Rulam acest
lucru bine vedeți este ieșirea este toate numerele prime la 100.
2 3 5 7 11 13:17 19:23 29 31 37 40 143 și așa mai departe.
Acestea sunt toate numerele prime și numerele prime sunt ceva care are doar un singur factor.
Puteți să o împărțiți cu orice alt număr și să nu aveți niciun rest.
Deci 97 sunt doar doi factori care merg în care sunt 1 din 97.
Din nou, un mic program rapid vă oferă o soluție pe care o puteți analiza.
Dar, din nou, luați-o la fel de bine.
Totul despre matrice și, de asemenea, bilele standard pe care le folosesc ne-au permis să creăm tipuri de date booleene
fără capitolul B de subliniere și, de asemenea, vă permite să utilizați două valori false, spre deosebire de
1 și 0.
Sper că acest lucru vă ajută.
Mulțumesc.