私は多くの研究をして自分自身でプログラムしようとしていますが、問題に直面して宿題を手伝ってくれるように頼んでいません。私は、問題がある場合、これまで私が知ってたと思うが、まだ何の解決策は、私が把握することはできない。与えられた数字の前にすべての素数を返します(宿題C++)
コード
#include <iostream>
#include <string>
#include <cmath>
int main(void)
{
using namespace std;
int num;
int max;
string answer = "";
cin >> num;
for(int i = 2 ; i < num ; i++)
{
max = sqrt(i);
if(max < 2) // This must be done beacuse sqrt(2) and sqrt(3)
{ // is 1 which will make it become nonprime.
answer += i;
answer += ' ';
continue;
}
for(int j = 2 ; j <= max ; j++) // Trial division ,divide each by integer
{ // more than 1 and less than sqrt(oftheinteger)
if(i % j == 0)
break;
else if(j == max)
{
answer += i + " ";
answer += ' ';
}
}
}
cout <<"The answer is " << answer ;
return 0;
}
質問
1)このプログラムw (例えば、ユーザ入力9:答えが2、3、5、7である場合)、その前にすべての素数を返す。
2)私は、文字列、int型の連結演算子として+
を使用することに慣れてるので、前のJavaScriptプログラマ(++今まで私はまだCの文字列と整数をCONCATする方法をパズル、間違った部分は文字列と整数の連結だと思います)
3.上記の問題の横にあるが、これまでのところ、コードを調べて、他の問題は見つかっていない。何人かの専門家が私を啓発するためにそれを指摘することができますか?
4.)コーディングやアルゴリズムなど何か間違いがあった場合は、私には何か間違いがありますので、躊躇しないでください。私は喜んで学びます。時間を過ごすための
おかげで
エラーは何ですか?何が印刷されますか? – talnicolas
あなたが期待している答えの代わりにあなたは何を提供しますか? – rcollyer
すべてを文字列に入れる必要はありますか?各素数が見つかると簡単に印刷できます。回線回答+ = iの場合は – madth3