<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Srekjni broevi"]]></title>
		<link>http://mendo.mk/jforum/posts/list/6.page</link>
		<description><![CDATA[Latest messages posted in the topic "Srekjni broevi"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Srekjni broevi</title>
				<description><![CDATA[ [url]http://mendo.mk/Task.do?id=73[/url]<br /> Za zadaca Srekjni broevi odev po stepenite na 2, da ja najdam dojzinata na brojot shto ni se bara , i potoa proveruvav dali se 4 ili 7<br /> Kodot, btw pominuva na nekoi moi sluchai, no kako i da e , ne i na onie od stranicata. Kje moze nekoj hint, vrz osnova na toa shto go kucav,<br /> Moj kod:<br /> [code]#include &lt;bits/stdc++.h&gt;<br />  <br /> using namespace std;<br />  <br /> const long long MAX=10000000;<br /> int pow(int a, int b)<br /> {<br />     int c=a;<br />     for(int i=1; i&lt;b; i++)<br />     {<br />         a*=c;<br />     }<br />     return a;<br /> }<br /> int main()<br /> {<br />     long long k;<br />     cin&gt;&gt;k;<br />     int zbir=0;<br />     int s=1;<br />     int pos=1;<br />     while(true)<br />     {<br />         if(zbir + pow(2, pos) &gt;= k)break;<br />               zbir+=pow(2,pos);<br />  <br />         pos++;<br />  <br />     }<br />     s=pos;<br />   //  cout &lt;&lt; "SIZE: " &lt;&lt; s &lt;&lt; endl;<br />     int pozicija = 1;<br />     int i=0;<br />     int niza[s+1];<br /> //    cout&lt;&lt;"ZBIR" &lt;&lt; " " &lt;&lt; zbir&lt;&lt;endl;<br />         int brojac=0;<br />         brojac=zbir;<br />  <br />     while(true)<br />     {<br />  <br />  <br />  <br />         int x=pow(2,s-pozicija);<br />  <br />         if(brojac&lt;k)<br />         {<br />             brojac+=x;<br />             cout&lt;&lt;4;<br />             niza[i]=4;<br />             i++;<br />         }<br />         else if(brojac&gt;=k)<br />         {<br />             cout&lt;&lt;7;<br />             niza[i]=7;<br />             i++;<br />  <br />         }<br />         pozicija++;<br />         if(pozicija == s+1)break;<br />     }<br />  <br />  <br />     return 0;<br /> }[/code]]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/664/3649.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/664/3649.page</link>
				<pubDate><![CDATA[Sat, 22 Dec 2018 11:40:12]]> GMT</pubDate>
				<author><![CDATA[ BATIR]]></author>
			</item>
			<item>
				<title>Re:Srekjni broevi</title>
				<description><![CDATA[ Mislam deka treba da se znae sto se bitmaski i osnovni bitni manipulacii za da mozes da ja resis zadacava. [url=https://codeforces.com/blog/entry/17973]Eve ti link ako ne znaes sto se.[/url]<br /> <br /> Koga ke znaes sto se tie, zadacata e relativno lesna.<br /> <br /> Zapisi gi prvite nekolku "srekni" broevi:<br /> <br /> [code]<br /> 1:     4<br /> 2:     7<br /> 3:    44<br /> 4:    47<br /> 5:   444<br /> 6:   447<br /> 7:   474<br /> 8:   477<br /> 9:   744<br /> 10:  747<br /> 11:  774<br /> 12:  777<br /> 13: 4444<br /> ........<br /> [/code]<br /> <br /> Seka napisi gi prvite nekolku broevi i nivnite binarni reprezentacii:<br /> <br /> [code]<br /> 0:     0<br /> 1:     1<br /> 2:    10<br /> 3:    11<br /> 4:   100<br /> 5:   101<br /> 6:   110<br /> 7:   111<br /> 8:  1000<br /> 9:  1001<br /> 10: 1010<br /> 11: 1011<br /> 12: 1100<br /> ........<br /> [/code]<br /> <br /> Probaj da gi povrzes nekako.]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/664/3650.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/664/3650.page</link>
				<pubDate><![CDATA[Sat, 22 Dec 2018 13:21:35]]> GMT</pubDate>
				<author><![CDATA[ VlatkoSh]]></author>
			</item>
			<item>
				<title>Srekjni broevi</title>
				<description><![CDATA[ Vaka nesto, ama nema da e taka vo site sluchaevi:<br /> [code]#include &lt;iostream&gt;<br /> #include &lt;algorithm&gt;<br /> #include &lt;vector&gt;<br /> using namespace std;<br /> <br /> int main()<br /> {<br />     int n;<br />     cin&gt;&gt;n;<br />     int bitmask=n;<br />     string res="";<br />     if(bitmask==0)<br />     {<br />         cout&lt;&lt;0&lt;&lt;endl;<br />         return 0;<br />     }<br /> <br /> <br />     string lucky="";<br />     while(bitmask)<br />     {<br />         if(bitmask%2==1)<br />         {<br />             lucky+='4';<br />         }<br />         else<br />         {<br />             lucky+='7';<br />         }<br />         bitmask/=2;<br />     }<br />     reverse(lucky.begin(),lucky.end());<br />     cout&lt;&lt;lucky&lt;&lt;endl;<br />     return 0;<br /> }<br /> [/code]]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/664/3698.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/664/3698.page</link>
				<pubDate><![CDATA[Sun, 3 Mar 2019 15:05:13]]> GMT</pubDate>
				<author><![CDATA[ BATIR]]></author>
			</item>
			<item>
				<title>Srekjni broevi</title>
				<description><![CDATA[ [quote=BATIR]Vaka nesto, ama nema da e taka vo site sluchaevi:[/quote]<br /> <br /> Па, еве уште еден хинт за како да размислуваш (покрај коментарот за битови што беше споменат погоре):<br /> &nbsp;   1. имаме два едноцифрени броеви (0, 1 односно 4, 7)<br /> &nbsp;   2. имаме четири двоцифрени броеви (00, 01, 10, 11 односно 44, 47, 74, 77)<br /> &nbsp;   3. имаме осум троцифрени броеви (...)<br /> &nbsp;   4. имаме шеснаесет четирицифрени броеви (...)<br /> <br /> <br /> <br /> [code]#include &lt;iostream&gt;<br /> using namespace std;<br /> <br /> int main() {<br />     int K;<br />     cin &gt;&gt; K;<br /> <br />     //najdi kolku cifri ima brojot<br />     int skipped = 0, number = 2;<br />     int digits = -1;<br /> <br />     for (int d=1; ; d++) {<br />         //ima tochno "number" srekjni broevi so "d" cifri<br />         if (skipped + number &gt;= K) {<br />             //brojot kje ima (d) cifri<br />             digits = d;<br />             break;<br />         }<br /> <br />         //inaku, barame broevi so povekje cifri<br />         skipped += number;<br />         number *= 2;<br />     }<br /> <br />     string result = "";<br />     K = K - skipped - 1;<br /> <br />     for (int i=0; i&lt;digits; i++) {<br />         if (K%2 == 0) {<br />             result = "4" + result;<br />         } else {<br />             result = "7" + result;<br />         }<br /> <br />         K /= 2;<br />     }<br /> <br /> <br />     cout &lt;&lt; result &lt;&lt; endl;<br />     return 0;<br /> }[/code]]]></description>
				<guid isPermaLink="true">http://mendo.mk/jforum/posts/preList/664/3701.page</guid>
				<link>http://mendo.mk/jforum/posts/preList/664/3701.page</link>
				<pubDate><![CDATA[Sun, 3 Mar 2019 20:29:16]]> GMT</pubDate>
				<author><![CDATA[ petarsor]]></author>
			</item>
	</channel>
</rss>