Izikwele eziphelele zibamba inani elibalulekile ekuxazululeni izinkinga zezibalo nama-algorithms. Zibalulekile, ngisho nasezibalweni zansuku zonke nezinqubo zokwenza izinqumo. Ehlelweni, ngokuvamile kuba nesidingo sokunquma ukuthi inombolo ethile iyisikwele esiphelele noma cha. Ukunquma kahle lokhu kungenza noma kwephule ukusebenza kwe-algorithm. Ezigabeni ezilandelayo, sizohlola indlela yokunquma ukuthi inombolo iyisikwele esiphelele ngolimi lokuhlela lwe-C++.
Isikwele Esiphelele: Incazelo
Isikwele esiphelele siwumphumela wokuhlanganisa inombolo ephelele. Ngamanye amazwi, uma inombolo “n” iwumkhiqizo wenye inamba nayo ngokwayo, u-“n” uthathwa njengesikwele esiphelele. Isibonelo, izinombolo 1, 4, 9, 16 ziyizikwele eziphelele njengoba ziyizikwele zika-1, 2, 3, kanye no-4 ngokulandelanayo. Ngokwezinto ezibonakalayo, uma ungakwazi ukuhlela izinto ezilinganayo kugridi eyisikwele, inani eliphelele lalezo zinto liyisikwele esiphelele.
Ukunquma Isikwele Esiphelele ku-C++
Manje, ake sibheke ukuthi singanquma kanjani ukuthi inombolo iyisikwele esifanele sisebenzisa u-C++. Ziningi izindlela zokufeza lokhu, kodwa sizogxila endleleni eqondile, elula nesebenza kahle kakhulu sisebenzisa i-C++ Standard Template Library (STL).
Nali ikhodi yesixazululo phakathi
[ikhodi]
#hlanganisa
bool isPerfectSquare(int num) {
impande ye-int = sqrt(num);
buyisela inombolo == impande * impande;
}
Kumazwibela ekhodi ngenhla, sisebenzisa umtapo wezincwadi we-cmath ukusebenzisa umsebenzi we-sqrt, onikeza impande yesikwele yenombolo. Sichaze umsebenzi oqanjwe ngokuthi “isPerfectSquare,” okuzothatha inombolo ephelele njengokufakwayo futhi kubuyisele inani le-boolean elibonisa ukuthi inombolo iyisikwele esiphelele yini.
Incazelo Yekhodi
Ake sijule kule khodi elula kodwa enamandla, isinyathelo ngesinyathelo.
Okokuqala, sifaka umtapo wezincwadi we-cmath, ukuze sikwazi ukusebenzisa umsebenzi we-sqrt. Umsebenzi we-sqrt ungomunye wemisebenzi eyakhelwe ngaphakathi ka-C++, futhi ibuyisela impande eyisikwele yenombolo enikeziwe.
- Umsebenzi othi “isPerfectSquare” uyamenyezelwa, othatha inombolo ephelele njengokufakwayo.
- Bese sibala impande yesikwele yenombolo yokufaka sisebenzisa umsebenzi we-sqrt bese sigcina umphumela kokuguquguqukayo okuqanjwe ngokuthi “impande”.
- Isinyathelo esibalulekile lapha ukuqhathanisa isikwele “sempande” nenombolo yokufaka yokuqala. Uma zifana, inani ngokuqinisekile liyisikwele esiphelele, ngakho-ke umsebenzi uzobuya uyiqiniso, ngaphandle kwalokho kungamanga.
Imitapo yolwazi Ejwayelekile Yemisebenzi Yezibalo
I-C++ inikeza uhlu olubanzi lwamalabhulali awusizo asiza ekubalweni kwezibalo. Omunye umtapo osetshenziswa kakhulu ngu cmth, esiyisebenzise kule nkinga ukubiza umsebenzi sqrt. Ukwengeza, amanye amalabhulali ezibalo ku-C++ ahlanganisa algorithm (isetshenziselwa imisebenzi efana nokuhlunga nokusesha), kanye izinombolo (ihlinzeka ngemisebenzi yokusebenza kwezinombolo kumanani eziqukathi).
Umhlaba wethu ugcwele izikwele, kungakhathaliseki ukuthi zingamaphikseli edijithali noma ngenye indlela. Ngalo mhlahlandlela omfushane, manje usunamandla okuhlonza lezi zikwele ezinhle kakhulu usebenzisa ulimi oluguquguqukayo C++. Ngezikwele ezikhohlisayo nezimpande, usulungele ukubhekana nezinkinga zezibalo eziyinkimbinkimbi. Jabulela ukubhala ngekhodi!