• ベストアンサー

代入を含む条件式

自然数を入力して、その数以下の奇数の自然数の和を計算するプログラムを作りたいんです。 入力した自然数までの総合計を求めるプログラムは何とか作ることができたのですが、奇数だけの自然数の和のプログラムはどう作ればいいのでしょうか?おそらくwhileを使うと思うんですけど、よろしくおねがいします。

noname#157126
noname#157126

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

  • ベストアンサー
回答No.4

 ループを使うなら、 #include <stdio.h> int main(void) { int number, sum_odd = 0, i; printf(" 入力(自然数) -> "); scanf("%d", &number); for(i = 1; i <= number; i += 2) sum_odd += i; printf(" 奇数和 %d", sum_odd); return 0; }  ループを使わないなら、 #include <stdio.h> int main(void) { int number, sum_odd; printf(" 入力(自然数) -> "); scanf("%d", &number); sum_odd = (number + number % 2) * ((number + 1) / 2) / 2; printf("\n奇数和 %d", sum_odd); return 0; }

noname#157126
質問者

お礼

ていねいな回答ありがとうございました。 無事できました。

その他の回答 (3)

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.3

そのプログラムの「加算する」の部分を「奇数だったら加算する」に変えればいいのです。

  • edomin
  • ベストアンサー率32% (327/1003)
回答No.2

int i_num; // 入力された数字 int i; // カウンタ int goukei = 0 ; // 合計 ・ ・ if(i_num == 1){ goukei = 1; } else { for(i = 1;i<i_num;i=i+2){ goukei = goukei + i; } } こんな感じでしょうか?

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

調べたい数 % 2 == 1 が成立した数が奇数

関連するQ&A

  • 式を満たす自然数の組合せ

    式を満たす自然数の組合せ 下記の問題がでました。 x^2-y^2=60を満たす自然数x、yの組合せの数はいくらか。 僕は2つだと思うのですが、答えは4つらしいです。 僕の計算過程を書くので、間違いがあったらご指摘頂けると嬉しいです。 x^2-y^2=60 (x+y)*(x-y)=60 ここで60の約数は以下の通り。 1と60 2と30 3と20 4と15 5と12 6と10 例えば x+y=60 x-y=1 という連立方程式を考えると、 2*x=61となり、xは自然数でない。 つまり、約数の和が奇数のものは除外できる。 約数の和が偶数なのは 2と30 6と10 の2つだけなので、こたえは2つ。

  • 「偶数・奇数の和」のフローチャート

    「キーボードからnの入力をうながし、1からnまでの和を計算するプログラム」のフローチャートを以下のような形で 学校の情報の時間で作りました。 このようにして、「偶数の和」「奇数の和」のフローチャートを作りたいですがうまくできません。どなたか教えてください!。

  • 2桁の自然数のうち各位の数字の和が奇数になる自然数

    問ー 2桁の自然数のうち各位の数字の和が奇数になる自然数は何個? (数学) この問題の意味がはっきりわかりません。 「各位の自然数の和が奇数になる自然数」 ってことは、つまり 和が自然数なのですか? それとも各位が自然数なのですか? (最初の一桁をのぞいて)

  • 2桁の自然数のうち各位の数字の和が奇数になる自然数

    問ー 2桁の自然数のうち各位の数字の和が奇数になる自然数は何個? (数学) この問題の意味がはっきりわかりません。 「各位の自然数の和が奇数になる自然数」 ってことは、つまり 和が自然数なのですか? それとも各位が自然数なのですか? (最初の一桁をのぞいて) 自然数は0を含まないので。。。混乱しています。 和は0を含むのでしょうか? 各位は0を含むのでしょうか? (最初の一桁をのぞいて)

  • 偶数と奇数の和は奇数になることを説明しなさい

    中2の数学の問題です。 問題: 偶数と奇数の和は奇数になることを説明しなさい。 問題集の解答で疑問に思う点がありましたので質問させていただきます。 解答: m,nを自然数とすると偶数は2m、奇数は2n-1と表せる。 2数の和は、 2m+2n-1=2(m+n)-1 m+nは自然数だから2(m+n)は偶数になり、2(m+n)-1は奇数になる。 よって偶数と奇数の和は奇数である。 (証明終わり) 上記証明でわからない点が2点あります。 (1)m,nをなぜ自然数に限定しているのか。 m,nは一般に整数ではないのでしょうか?中学レベルではマイナスの数も 偶数、奇数が定義できると思うので、私はこのm,nは整数と置くのが正しい 答え方だと思うのですが、いかがでしょうか? (2)もしm,nが自然数と置くのが正しいとしたとき、奇数を2n+3とおいてしまうと 3(n=1)から始まる奇数になり一般に自然数全体で証明したことにならないの ではないかという疑問があります。 2m+2n+3=2(m+n+1)+1 このような解答も見かけます。 文字式の計算上は奇数といえますが、nが自然数で奇数を2n+3とおいても 問題ないのでしょうか?  ご回答よろしくお願いします。   

  • 中2 式の計算の問題

    中2の式の計算の問題なのですが。全然わかりません。 どうか丁寧に説明していただけますでしょうか?  自然数において偶数を1番小さいものから順に11個たした和をA, 3の倍数を1番小さいものから順にたした和をB, 4の倍数を小さいものから11個たした和をCとする。次の問いに答えなさい。  (1) 1から11までの自然数の和をXとしたとき、AをXを用いて表しなさい。  (2) (C+B-A)の値を求めなさい。 おねがいします。

  • 階乗の式

    「5」と入力すると、「1*2*3*4*5=120」(階乗)と表示されるプログラムを組みたいのですが、 例で言うと120という計算結果は出せるのですが式の部分が出せません。 forまたはwhileによって作るんですが誰か式をうまく出すプログラムが分かる人いらっしゃいませんか?

    • ベストアンサー
    • Java
  • この条件の理由がわかりません。。。

    すごく簡単な問題なんですが、 「連続する3つの奇数で、平方の和が371になるものの組を求めよ。」 という問題で、 連続する奇数をx-2,x,x+2(xは奇数)とおく。 条件より、(x-2)^2+x^2+(x+2)^2=371 ・ ・ ・ x^2=121 ∴x=プラスマイナス11 【x>0より】x=11。 となっているんですが、なんでx>0なんでしょうか。。。 平方の和だから、マイナスの数でもプラスになって同じだから2通りの答えじゃないかなと思って解答見たら違ってました。 教えてください。。。

  • 自然数の和のプログラム

    if-else文とwhile文とfor文と1次元配列、このすべての条件を使って自然数の和を求めるプログラムを作りたいんですけど、これらの条件全てを使ってプログラムを作ることができません。 よろしければ教えてください。

  • 基本的ですが・・・

    whileをつかって、1~5までの和を計算するプログラムを作りたいのですが、どうすればよいでしょうか?教えてください。おねがいします。

専門家に質問してみよう