From 9c4bfaa9d4fa6e99746776fe8e731f7f53e43e64 Mon Sep 17 00:00:00 2001 From: Oluwatoyin Date: Tue, 26 Jul 2022 22:18:07 +0100 Subject: [PATCH] countprime solution added --- DsaPlayGround/AllImages/countprimeleetcode.jpg | Bin 0 -> 43658 bytes DsaPlayGround/PlayGround/countprime.py | 17 +++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 DsaPlayGround/AllImages/countprimeleetcode.jpg create mode 100644 DsaPlayGround/PlayGround/countprime.py diff --git a/DsaPlayGround/AllImages/countprimeleetcode.jpg b/DsaPlayGround/AllImages/countprimeleetcode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4cf76258cb4ece07824383c5fba51794cb61211 GIT binary patch literal 43658 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≶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 z zz}<+$yv*=&LN1ELFGKrz==Z~?m>!VoJ_7vR4yGvimgW|uQ4E#P#NNChsQdIWvvQTD zATIZ!5qE6CiHWq;7{O<0q7_7*49Q4PWj9~j3#cthLNaBJl_^#pscipAmW#Gv`Ky9{ zJn_lbUvEtU$3$HH6{I<0=^yUj-LN-|ibE(#a?xI#J7cq0E*VGU+rH4B`7pvZKZ1`B z>Ga$K67?ZyQ&<;omCRhit@D+WFB3{`f^PL$=$T`Zwj-t1;naz!*>KvW<4TvNmxa@0 ztAtNgY+HCYgaplmfL0;Gr~_V3_mBycD0$#Kag^_`27gQ0U`^IZCtI0xJoA{wS>-9-=J2@hjKwfRXOu}R{QD0dqL!q zqGdhhgDkV$50c-_H>#A|Ha6fh7%vsbXOlcFfw;aA5gXS?6Z(x2V?r=f>A{ueLH!Z$ zlg8_9N0EJIN!J=BlV!=b%N5Zg-@?5;ImuZ+NPDdZEt>f=p_)Ca}|4NmI z?JxMWUT*BW?I@j%#xJF(JsA8U+tm0C^#Wn&2q^o*%ApeJM{tS;@2$34l@cl?T3X2k znxn+0gZJ1JUNG>BF=eH!nr3!FZO&>$9gl7e4B;);CM#Dc_DvqX{y9P8Jy)ZnV6FQw zlSNe<7u=7sj){~BEH8DE!?q}OHJ?5drjHg@e{AO|AQ~>DBJ~db^~6|KLqr75ps6Ah zMN*mg9)mEuEtzJ{rh6@X67_6?eR^)BN5omUM{Tnk@_33TlQWkrd^DABfTuO#t1o`IYZ& zaT<}vrrI^%!`9SAG#XEMQ0dkw`Xk@&;QGOaMwl|reM=1*Ho@nVe_kvA5g zXEbftlM!&}8=4iGod^e<6K;Q8sY;ads#vlpDT%GbbQMelLHSw`nH$uZo2*E2%y*>MmEF-WhrAp)7TQ>MXpqT{(slC%(=XHES<^@i7w2Y-rjAlx-{rR~%7Kg)%`_BG7+?!Z%55ldhr8>+* zDyXkz^rtjCTz>0|NQZ93+Xlimeo7Ou{8;<&Tc};Zh%wtp^7l$tft4uQ5vUa7qO zL&kG6b5foKPbuCo<{W#{CQ)b$$zBLFXs&Su92!iOmt&MTl8gi_>xa|XK zrAA%e(NMm{dJkcF^QKWu*Xh|HOV(k|1=@7#KH$Ct6hs81sSssX19T52FOataLVhtX z=_Nsm5^8x*)l<44VhdraRiaD@t@rP86;<$&*+M!>3zi^=AR{`e=Gg5=R9g;-zl0vH z4?R?1z}v-kqN#Ef*FAb>&@lHoZG|OGCrW)2#o4Z3kCy2!O!>3y@j^%MZ>7X{vpRpP zcaY}dXag99M$)ZCfT~Dw;$nKl{kLDI0+MfaOA@I#oohSGCNK3aKp0_>nTOT;^?!Wv zfibTL$#qjnZxy7I`_Q(uV;EhoxM(_Sd-vZv{Oen(0u)3KRsEy=Rd5v~fBnk9NQvYq z<=`v>Qu$4P)(5zB%gTcOTEeQt0R2zav;V8VRaS~_`4g+;oYhhPYw7K;UD5v$Tm{-@ zN+{#lNg*%Oor5s=4qCJ$V99|cWU(Wk7`(UsVYXvQ(2O2v_qB-uR-QSbMW}B=5i+EW zp-aYde3h0H;E0qL_7AcTm|yYcA)k9T8E0zfd{NS;;e9Th1!umLL#V*r`jWge`?87A zb938rF~^Kfra z(!?FGqO8qpe@ce4W3!G-?sA+vXG|6{LOCK{7|g~6InGVD324F<@9xb$P4A}*h_HZH zJjN$;+fdUZjT);27d8?y)^u%5x8NV^7S`&EJ5W?cz*dqiCAe*VAd)@qsF7Z};31R$ zbvjMSHP+C;N*+F^faZ$xRrha<;H-ANq2ZIv)T%Z2&M_G`>A=|_d-aHHLWCcjN!3pQ zR*snNrem5uPi&B}MUQ1uC#F5~B51n1Ch+5ze;dsf$`;YJndJ;U8ORCGmY$ZBdQe#C z?J1=@chDm^%8ld9{ZW_lb*{h{T-q*e!lZf^lP>tlrCBW^biJB*0iik7-D3n7sV?3J zf%^+x1Z6!geaN2~iD_+>zA4M4LxZPwWokRSJ8=+tz-(m7pV84GACVcO`_PFU?|t*& zbL3SX{`(Rg1vQMJiXD181r5LY`SC=q3o(j{e%e-xU z(Wf+}JjCViefnKMvxy~{4V7zKK?kZS^X7%*s#Qa*XSKJ!*N6TGNKt=2_|6A^+Ragw zAHJlG!RMo1+TbSG_$QQ&iwma#h(jmaF1SvarjFOp%v>i~_C43Zi?6sB)f5vl7C|9s za@Z<3*Dm`pQY5KT*^%eA^AhNOqfXmOYTIeGN9O9o3Vy%z>OR(Eh--cQ(r}6*GA%xs z8+ysh1Bh)JR@Y<>JnJ>&E#LjC>-ztv}%L#`H zkea^27^?EJmj&nVq-U~YUOy@+2?SmhAxV=Zci(Z+gW2;n{`e9jBQpF*d3PqDREp{Y zTi&-ncBFr&u8{lh9sZTAq#pZ%%|!|8k4vWW$3-*>0x)&ba$%6n#XLP=Z-{AocNFjp zB(Vf+EZ4MDi}vUkO;=^WkxEIDDdAfJxb%zZP%0 zP}Goj^^_rN!z%^tr|Jd@!fsa@zLed3ns^s4Zcxf{Pk`Wa7sGmkxDG)CJ#`y3thy&- zwX*Uch0{IlQC*TWW1OFQNWW-p^5rhF1jg+m(mg4-2+9#4rDuH?zUCkRb_%^Upo+2ic?N)p3Vhh*XFx5?aFaWaEFFK9uUyQsXIN zWo5~rmv;klC%yDI-kO&SJm`UrFgl0$i+=mH&brqs)@@3gc)7GF(~Uh$-TqomC!$D&V9f*>@)T0 z9*lRZift=C7DZ_4C19N}OIYhKgj1MMJLl>M&22Pk$di2dQ$z5Fj^JPX$Jtj5N0XZT z83rlGkO4oJ7+kK1ZrS`3*{L)roBR)crxL>e2uSWm{|SHA@BNAKy!$K}E(bG>1(rIn zbpeuCK>P;!`sX?h?*;~;9*Fi$IB1|1Cr?jI#s!oGG zcJRY>6W~!u&j5ng9q_S)2RZimIWEFKbscGlx+RC`I7UL6so%etiRt9vImaUf8*qLd zhDe}!8WEkRwF1Qi*7;R6w?w9iikYjs(tL9r`1@3>$01O1IKiTPWqVk@n@C~7GA8z& zrk{k*u&_8EZ{ABXV%2H&vDq1J!>ABt~{)!UX7wZ;}p<% z#Z`Q9L#GADf#U5%UBuC@b=`htotLBsYSl+y8mZd`3whjs>VJ~3V6#;pNqiNs`XE5M zpS-cAF;aJp#igw7-q&~xw&J{~R>PYEwAIj=MCXBACrAEJ5H!FRx(8SL5K$jjr z>U28&jq&~5x%2DhIFbMov~B`$qL<~<;4EGqH^q+WVs3`EU=<(i3&_6qCQR5hGD7|p z-RL3CN{;w4Ts>6g!Nmyr*Mss^N?Maiv&kl~fitShV#P4|oU3>ZW(wlN)^`LG$Uzu*C=+sdeyIx9S$S(N7haAzd?V~dCWDEhEkb-p#IC*a zm8P%Y?3AV!(82-^EeQ{cDcYZ~Z4?hrne+W-uq|NH_L3;aQcg#nS}rp^)0VqTf7AEsGG(Ss zrdm1oVD)j>2*_Anq5jlS*usT;@q!X0^kwj^?6!hMz~oWaCcaz3H#pa&+celYj80-g zl6Kn;6c@pe<|Eny-n82js`IH8|6#lt?&icYKp~j}+T%gr@n(}D*r(FYu$uibyH*6O?pbb zL;8K4KRH%wb(4t~f6mw!E1GgYvZb&HEx?|Niue}gIdeUHct4@urcxV>pk9xX!Q4j^ z$I1Q1h`_IY*3!}F*SxZmcKEYj*Nq`QZL%>8ugPg_L%FfkpA|ON2&Hz$-A}oKG$c5C z(EhS7*>Cg`^r;zSRS+C{lKg%BF%IF!Xp2bFFPi6_%hiaYqn*M=^7itJ#!cr|_14k_ zy)hXQz;`-H6;2RSIN|L4X%)}*R{$Agb?q=|sj^M)>8OuTf?%%8lSmGzyQd|4GXCT( ztxtg*+0Wj;x7hPyar*T-5Z@n(a|J~3P%{b;gRD_N{7nVN!P_ld%=GT7rbNcZg6 zR3WxZZ%XBt|e6ooFad67?W|K2rcBdf{(I+oPmG5=HX2q&NkoQ0@| zNVA(F$ku*zh{H{)%}CqkwY=?>R0bK9!!*7|$Z{MEX-sSiAN}}sZz{AxJEgm2duyKu z2)?@`xzZ5na4a>1);cX9$g3CCqjE}ca(s&5~}*uT<)hJo84S_XOt7W=I_$lRWe8A%~~n+`>) zgH1-8XI*FvsB2nXc0N2h(qSEjBnVs`ZqDr5R!brT;jQwBrGoubkacFou2+lBV$F8eZy&s`_$f6X?i_@egv+WrJt}no=8cS@z}f#{IsQNXrx$hWG4Q9wF{nmo z10Z-^&;Xo1q5FXwh@bDkQu}$>bti)CtBDbbn{tTZ8@ag*n?-0n_Fl%+f1e^`HCsht~6>zj0aM^czH-65!Cg z3j*iFR%!Yd`KvJPm=@}6K%;U3w6)fa((qA4J#Ps7`*FQwy2 z)W&(7l~m3WljYR5JF$^GReYWZt&PqYp~4}q-fkhuOQVEnJzyU(nSoTe#TTFE&UUn> zDbi~_Zj2x@2bWix7{!iQgN{nb&DK{xjH9%zvyJ~b&H0ly{|xk~@R?f^=gIQ>=R+G{ za%fny2b3N{W{Tx64KEIrd{SmxV`%6dWU9Q=KI8F%ZLf-1AyF@hIcEPSwIm(C^e%j- zXN>@*2D_e=R580PEb@UHUDLTI1fGiG$Fzv(LO+O&5%})zvz}NU+M(E@~A4hZXl{%=eDi0ky+%vVD++EyOaA5(quM8Shtr8;;M-3hoPV zXgH0~7C0k&y-tG%zTD{>RdB{ZQO?Y5)05k$J{aY;Ozjduf)mH?Tl;y85AUm?ejRm5 zZnTp{HV=(Swl4+wp{s5_nT@dW4)Ha!-q1fr(Zc*dD0)O}wiv=^bDR*t{05F!xt&?O zf2oKjD&JY7yRQ1APTi!eqc2F`R5|;c^m6}p5~yH-IKDI|n&bonD$feSaIVgaa_0+R z_{^R7SI^P@PsitMGd*znbEuq+45q(m{Oe@i_m82Rvm&X<6Jz~eq%(vCeYN{!L628M z8$HQ>)%im4&rdkM8#T*oA?0#bZ!zg@laOno=;vA|9IWj+spF{j=cQ?<>!VanXjzXc?#myuHp>!vG!UiD$b|+5EYb^# zzUrEkvBv>yNR>OGelEh~On0u05btX>)Cz8$Ztq-i-M_Ik8Y>cOeM%zBaAqOH zm-di7A+jBwxtSAj-id<(HNdjdZS2duWmUq?kZQ+BOkI0B)-&eMOM_MLFBr`6)!7Cv z!P{9v%Ppob&!9+KjdzZ$^Qa_LhV+NLCR&N!RZ;cOT6;lnL-kpI?S>Jas<>i%nb!8< zQp#+7CjGRnT9L;BGdr={bIR7>Fl8uG@@M2Y{`wL{tR8a}0cF{r8qy%sd8fSSFL?zm zfKqpUT}9qUy*Dm8qcgbeMdiX?2U&>z|JvpYUo8GOu88wrRXaU*XXVvPCW4lgg^XI9 zp_U4}67s%kS6+H`&vLP)r-;?_3q4(7WjpilmepVD{O4QyWJ)-2(codvit>MA@qZNU z(}10x`M2v1KdaBnxL9B>i!;velX|L*202XF7X7rLeIrgCJ?!&)3>W|vrmKD*5;}~LvBQEdX`jz`HAFp)y z&RtjZ@_9DuRAelil&&vg-EFj_n!!SWiOqaVf8#!`izW93BMvX|EM)Ikdvx8p>))@7 z7u|Ogy~3F?%dJc?c6y=Zv5RxG8n3^!x;B4(l=NDof7b)I3E8M+drk}C>j}JEG|60> zX-O%IK-Sw#ORL_UrN%uWLf*@tZ@*VqRHN|W==p|He%8CUUr9}G*S~PQ5ZD3!K0U}t zhPNp*HB+=Mur-XK>{a&qty{Z}U6albPcc|@tb08Q+xhEX0}qBm zn`P4d?DLX%t1FTo{cY0q*S$aMNk4mi;Mg03rF#sIO5B#o5)HRJz|1s1V%GNFKb8w# zSC#dyeElnK?wTxhv8dX+PYPpVWgZK}4-W~J|pKISO0EFv}HkhVDMsi}<8LN&I){XEa(K8hdS&-=Rb zameMM(gHgJ)^IZITeE1D{?zDSySw_IY*yoZ+l4xQQQP0yKQ!O=@9Nb(ruzLVAAFbXeE7P-G;qbf#RV(P|M<+(P-T0% zK;vRwkAm~oZ)%L^uhOYo#kbe|<_S@{oocZEM zb!!)AUOro$Z~gLL?&{ucrylI;IMTCms;Y#5XbKB|+(-3q@qe^z&40`P6LbGo|84H} z>3?T`d;fO*kDrpC>+b&k&!B91fB(P8=Q2rq+q#6GdTFQTA5>j`_xqig?R$US|G4jd zMfe$cF&o`SbAyk}7x*IT8=&5CM)<|$%&MACf0tgnr}3z-`lz$$5&>VC%_3=G6ZW%9 z1CKCyu~huD_NeuGFinMGA1D3RiyQb*D#xlsWBJn>%G_;Gh44DI* z2?Wh5Ea;TB+j8r|qPa(t?Yb^3>Td1%rR~(ECuaO&EtkfQi1UlKXe@d-Jft>e@t>&< z?E?A=SSUDiwZWS1Sy@2lbZ9FcI3u_bSoYW`12xG;g|Q)T2oAF}`bAn==o{qvUk?+3sWtH;^@eCYr8L!`Ek|K~&b szaKO}Q?jE*j|RxdNg)f{|E5CgL_2795LGE$;@#rvc%948LH_?u00?5oo&W#< literal 0 HcmV?d00001 diff --git a/DsaPlayGround/PlayGround/countprime.py b/DsaPlayGround/PlayGround/countprime.py new file mode 100644 index 0000000..1c78771 --- /dev/null +++ b/DsaPlayGround/PlayGround/countprime.py @@ -0,0 +1,17 @@ +class Solution: + def countPrimes(self, n: int) -> int: + if n == 0: + return 0 + prime = [True for i in range(n+1)] + count = 0 + p = 2 + while p * p <= n: + if prime[p]: + for i in range(p * 2, n+1, p): + prime[i] = False + p += 1 + prime[0], prime[1] = False, False + for p in range(n): + if prime[p]: + count += 1 + return count