• ベストアンサー

○個ずつ改行

C言語を学び始めた初心者です。 エラトステネスのふるいをつかって素数を2から997まで表示するところまで理解できました。 しかし、すべて並べて表示したり、1ずつ改行して表示したりすることはできるのですが、 たとえば10個ずつ改行したいと思った場合どのように変数を設定しループを組み立てればうまくいくでしょうか? よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

出力した素数の個数を数える変数を用意します。 素数を1個出力したら、個数を1増やします。 個数が10の倍数になったとき、改行コードを出力します。

osaka333
質問者

お礼

ありがとうございます。今作ってみたのですが、 漠然と「10の倍数」はどのように表したらよいのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

10の倍数 ... 10で割ったときの余りが0 剰余の演算子は %

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語 エラトステネスのふるい ポインタ

    C言語のプログラミングなのですがどなたか教えて頂けませんか。(説明も) エラトステネスのふるいを用いて,10000 までの自然数に素数がいくつあるかを表示するプログラムを作れ。 ただし , 配列は用いず, ポインタを用いること メモリの確保には malloを使うこと よろしくお願いいたします。

  • 双子の素数

    3~1000の範囲で双子の素数をすべて求めるプログラムの作り方を教えて下さい。友人には「『エラトステネスのふるい』を使え」と言われたのですが、「エラトステネスのふるい」とは一体何なのでしょうか?それも教えて頂きたいです。

  • 改行文字を消す方法を教えて頂けませんか。

    こんにちは。 C言語で、改行まで文字列として格納した変数から、改行のみを削除する事は可能でしょうか。構想としては、 char *str = "text改行" ↓ 改行部分を削除 ↓ str == "text" になるのがベストです。 良い方法をご存知であれば教えて頂けないでしょうか。どうぞよろしくお願いします。

  • fgetsで拾われる改行文字を削除したい

    お世話になります  C言語初心者のものです。今課題でC言語を用いたプログラミングを Fedora上でやっています。問題は、fgetsでテキストファイルから、取得 した文字列の中から改行文字を削除できないことです。文字変数のアド レスはわかっているのですが、終端文字に置換しようとすると、セグメ ントエラーになってしまいます。これは如何にして解決すべきでしょう か。よろしくお願いします。

  • Drawstringで変数内の文字を表示する方法について

    Drawstringで変数内の文字を表示する方法について c言語初心者です。 ウィンドウに文字を表示するDrawstringという命令で変数内の文字を表示したいです。 たとえば、 char *a="a" DrawString(0,0,a,65535); でコンパイルすると、 宣言の構文エラー というエラーが出ます。 改善点がどうしてもわかりません。 ご指摘お願いします。 あと、c言語では変数に文字を一文字ずつしか入れられないので、文字列を変数に保存して表示したい場合にはforなどでループして表示するしかないんでしょうか? 合わせてお願いします。

  • 素数をみつける方法を教えて下さい

    早速ですが、素数を少しでも楽に見つけ出す方法が知りたいです。 私はエラトステネスの篩「自然数NがNの平乗根を超えない最大の整数以下の全ての素数で割り切れなければ、Nは素数である」 は知っています。他にも素数を少しでも楽に見つけ出す方法を教えてください。

  • 先頭の改行だけ要らない

    セルに適当な値が入っていて、そのセルの値を改行で区切ってつなぎ合わせて 一つの変数に納めてmsgboxで表示させる際、 一番最初の値の前にも改行が付いてしまうのですが、 これってどうやったら避けれますか? ---------- a b c ---------- こういう結果になってしまいます。 ---------- a b c ---------- こういう結果にしたいです。

  • エラトステネスのふるい(素数)についての疑問

    今、家にある中学の参考書を読みながら、中学数学を勉強しているものです。その中の素数についての一番最初の問題で、 次のうちから、素数を選べ。 1 6 13 25 51 79 87 91 という問題があり、その解法の一つでエラトステネスのふるいというもの(2から順に自然数を書き、2を残して2の倍数を消し、3を残して3の倍数を消し、5を残して5の倍数を消す、以下同様にして求める…という方法)があるのですが、上の問題でずっとエラトステネスのふるいを使いながら合成数を消していくと、11の倍数を消すところで、「13、79は11で割り切れず、13÷11、79÷11ともに商が11より小さくなるから素数である。」と参考書にあり、そこでふるいをかける作業は終わっています。 この参考書(特に、"13÷11、79÷11ともに商が11より小さくなるから素数である。"というところ)のこの部分と、ずっとにらめっこをしてきたのですが、何故「13÷11、79÷11ともに商が11より小さくなるから素数である」と言い切れるのか、分かりませんでした…。 少なくとも13は、次に11の倍数となる数である11×2=22の間に13が存在しないから素数、と言い切れる感じはするのですが、79だと、たとえ11で割り切れなくても、13、17で割り切れるかもしれない…(もちろん実際そんなことはないのですが)、と、感覚的にそう思ってしまいます。そして、「13÷11、79÷11ともに商が11より小さくなるから素数である」を言いかえれば、「商が11より大きくなる場合は、素数でない可能性がある(121以降の数であれば、たとえ今の時点で11で割り切れなくても、素数でないかもしれない)」というのも、よく分かりません…。 そんなこんなで、このふるいが11で終わっている理由が分からないのです。 馬鹿みたいな問題かもしれないのですが、頭が堅くて、分からなくて困っているので、良かったら教えていただければ嬉しいです…。

  • fputで出力した文字列を改行するには?

    PHP初心者です。 いくつかの文字列変数をテキストファイルに書き出す処理を行いたいのですが、うまく動作してくれません。 文字列変数 $str_a, $str_b, $str_cをカンマで区切ってテキスト1行でファイルに書き出しています。 $str = $str_a . ',' . $str_b . ',' . $str_c . '\\r\\n'; fputs($fp, $str); 上の2行がループで数回呼ばれた後、ファイルをクローズしているのですが、実際に作成されたテキストファイルを見ると a1,b1,c1\r\na2,b2,c2\r\n....みたいに改行が入らず"\r\n"という文字列があるだけです。希望しているのは a1,b1,c1 <-ここで改行 a2,b2,c2 <-ここも改行 という結果なのですが.... よろしくご教授お願いいたします。

    • ベストアンサー
    • PHP
  • 改行を含まない文字数を取得するには?

    エディットボックスに入力された文字数をGetWindowTextLength関数で取得した時 < 例 >  aaaaああああいいいい と入力した場合 結果は12 aaaa ああああ いいいい    と入力した場合 結果は16 というように同じ文字数なのに改行を含むと改行1につき2文字分多くカウントされてしまいます。 複数行入力されていても改行文字を含まない文字数を取得するにはどうすればいいですか? --- 実行環境 --- Visual Studio 2010 Express WIN32 ユニコードビルド C言語