ページ 11

if文を使った組み合わせ(?)の問題です

Posted: 2021年6月03日(木) 15:00
by botdo
以下のコードが思いつきません(>_<)自分の頭の固さがにくいです

「なし2個ともも3個をあわせて1組としてセット販売を行っている.
以下の実行結果のように, なしの個数, ももの個数の順にそれぞれ正の整数値として入力し, 最大セット作れるか,
またそのときに余った果物の数の合計を画面に表示するプログラムを作成しなさい.」

実行結果 (例
なし> 3
もも> 5
1 セット, 余り 3

下のは自分が途中までやったものです。続きが思いつきません。
どなたか助けてください。初心者なのであまり難しいものの使用は避けていただけると嬉しいです。

コード:

#include <stdio.h>
int main(void)
{
    int a,b,c,d;
    printf("なし> ");
    scanf("%d", &a);
    printf("もも> ");
    scanf("%d", &b);
    if(a%2>0) { 
        if(b%3>0) {
            
           
        }
    }    

        

    printf("%d セット,余り %d",c,d);
    return 0;
}

Re: if文を使った組み合わせ(?)の問題です

Posted: 2021年6月03日(木) 19:50
by みけCAT
1. なしの個数だけを考えた時、最大何セット作れるかを考える
2. ももの個数だけを考えた時、最大何セット作れるかを考える
3. 1と2のセット数のうち、少ない方(多くない方)が実際に作れるセット数である
4. 全部の果物の数からセットを作るのに使う果物の数を引くと、余った果物の数が求まる

コード:

#include <stdio.h>
int main(void)
{
    int a,b,c,d;
    printf("なし> ");
    scanf("%d", &a);
    printf("もも> ");
    scanf("%d", &b);

    /* なしで何セット作れるかを求める */
    c = a / 2;
    /* ももで何セット作れるかを求める */
    d = b / 3;
    /* 多くない方を求める */
    if (d < c) c = d;
    /* 余った果物の数を求める */
    d = a + b - (2 + 3) * c;

    printf("%d セット,余り %d",c,d);
    return 0;
}

Re: if文を使った組み合わせ(?)の問題です

Posted: 2021年6月03日(木) 23:07
by botdo
なるほど!そのように考えるんですか!
勉強になります。もっと頭を柔らかく考えてみます!