プロが教える店舗&オフィスのセキュリティ対策術

奇数が偶数個あると判定するプログラムを教えて欲しいです。

質問者からの補足コメント

  • n個の自然数が与えられ、n個の自然数の2グループに分割したとき、各グループが和がともに奇数になるのかを判定するプログラムを作っています。解n個のうちに奇数が偶数個必要となります。
    そして、2つのグループに分ける時に、その奇数を奇数個ずつ分ければ、どちらのグループの和も奇数になるということはわかったのですが、奇数を偶数個と判定するのが難しくおしえてほしいです

      補足日時:2019/06/27 12:48
  • 擬似コードを載せとくのですが、前半めちゃくちゃなので参考にはなれません。
    procedure partittom;
    sum1←0    
    sum2←0  
    while 入力データはまだあるか do
    Input a
    if a%2≠0 then sum1←sum1+a or
    if a%2≠0 then sum2←sum2+a
    end
    if sum1%2≠0 then yes
    else no
    if sum2%2≠0 then yes
    else no
    endprocedure

      補足日時:2019/06/27 12:50
  • 最初の質問だけで丸投げしてしまい申し訳ない

      補足日時:2019/06/27 12:54

A 回答 (4件)

n個の数値を入力受付した時、その数値の中で、奇数である値が偶数個あればOK、そうでなければNGということですかね?


そうであるならばグルーピングする必要性もないかと思います。

1.入力を受け付ける。
2.2で割った余りから、奇数かどうか判断する。
3.奇数ならカウント変数をカウントアップする。
4.1.~3.を繰り返す。
5.カウント変数を2で割った余りから、偶数かどうかを判断する。

これで良くないですか。

どうしても後続処理でグルーピングが必要ならば、奇数の値がなかったり、下記のように、奇数個であった時はどのようにグルーピングされるのか考える必要があるのではないでしょうか。
1つめの値 奇数(仮に1)
2つめの値 偶数(仮に2)
3つめの値 奇数(仮に3)
    • good
    • 0

要するに、まずは「n個の自然数の中に奇数が偶数個あるかどうか判定する」ということですか? それくらいのことなら地道にコンピューターに確認させればいいと思います。



とは言え、プログラミング入門者の人はどういったことをコンピューターにやらせればいいのかの「勘」がまだ身についていないでしょう。今回はヒントを出します。あとは自分で考えてください。

・n個の自然数をひとつずつ見ていく。
・奇数であればカウントする。
・自然数を全て見たら、カウントした値が偶数かどうか判定する。
*奇数がひとつもない場合の処理も考えましょう。
    • good
    • 0

プログラムの前にアルゴリズムを決めないといけません。

それは出来てるんですか? 丸投げは駄目ですよ。
    • good
    • 0

その言葉だけで解ける人がいたら天才です。


インプットも、それに対するアウトプットも正確ではない。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!