In that loop , I  am collecting all the primes in vector how ever I changed the c++ code and  now it resembles to Haskell code. This code  still gives the answer within a second. <br><br>#include&lt;cstdio&gt;<br>#include&lt;iostream&gt;<br>
#include&lt;vector&gt;<br>#define Lim 100000001<br>using namespace std;<br><br>bool prime [Lim];<br>vector&lt;int&gt; v ;<br><br>void isPrime ()<br>     {<br>        for( int i = 2 ; i * i &lt;= Lim ; i++)<br>         if ( !prime [i]) for ( int j = i * i ; j &lt;= Lim ; j += i ) prime [j] = 1 ; <br>
<br>        //for( int i = 2 ; i &lt;= Lim ; i++) if ( ! prime[i] ) v.push_back( i ) ;<br>        //cout&lt;&lt;v.size()&lt;&lt;endl;<br>        //for(int i=0;i&lt;10;i++) cout&lt;&lt;v[i]&lt;&lt;&quot; &quot;;cout&lt;&lt;endl;<br>
<br>     }<br><br>int main()<br>    {<br>        isPrime();<br>        int n = v.size();<br>        long long sum = 0;<br>        for(int i = 0 ; i &lt; Lim ; i ++)<br>         if ( ! prime [i])<br>         {<br>            int k = i-1;<br>
            bool f = 0;<br>            for(int i = 1 ; i*i&lt;= k ; i++)<br>                if ( k % i == 0 &amp;&amp; prime[ i + ( k / i ) ] )  { f=1 ; break ; }<br><br>            if ( !f ) sum += k;<br>         }<br>        cout&lt;&lt;sum&lt;&lt;endl;<br>
    }<br><br>Regards <br>Mukesh Tiwari<br><br><div class="gmail_quote">On Tue, Nov 8, 2011 at 6:03 PM, Ivan Lazar Miljenovic <span dir="ltr">&lt;<a href="mailto:ivan.miljenovic@gmail.com">ivan.miljenovic@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On 8 November 2011 23:29, mukesh tiwari &lt;<a href="mailto:mukeshtiwari.iiitm@gmail.com">mukeshtiwari.iiitm@gmail.com</a>&gt; wrote:<br>

&gt;&gt; Also, I&#39;m not sure if the logic in the two versions is the same: I&#39;m<br>
&gt;&gt; not sure about how you handle the boolean aspect in C++, but you have<br>
&gt;&gt; a third for-loop there that doesn&#39;t seem to correspond to anything in<br>
&gt;&gt; the Haskell version.<br>
&gt;&gt;<br>
&gt; Which  loop ?<br>
<br>
</div><div class="im">for( int i = 2 ; i &lt;= Lim ; i++) if ( ! prime[i] ) v.push_back( i ) ;<br>
<br>
</div><div><div></div><div class="h5">--<br>
Ivan Lazar Miljenovic<br>
<a href="mailto:Ivan.Miljenovic@gmail.com">Ivan.Miljenovic@gmail.com</a><br>
<a href="http://IvanMiljenovic.wordpress.com" target="_blank">IvanMiljenovic.wordpress.com</a><br>
</div></div></blockquote></div><br>