寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

C言語による所持金の最小の不足額

C言語による所持金の最小の不足額です。
本の値段に対して、所持金を元にした最小の不足額を求めるプログラムです。

・問題
 あなたは、今日発売された新刊「プログラミング甲子園必勝法」を買うために、友達のA君と本屋に来ています。
 あなたはどうしてもその本を買いたいので、手持ちの金額で足りないときは、A君からお金を借りようと思っています。
 それでも足りなければ、今回はあきらめるしかありません。
 あなたの手持ちの金額、A君の手持ちの金額、本の値段が与えられたとき、本を買うためにA君から借りなければならない最小の金額を出力するプログラムを作成せよ。

・入力される値
 入力は以下の形式で与えられる。
   m f b
 1行に、あなたの手持ちの金額 m (0 ≤ m ≤ 10000) とA君の手持ちの金額 f (0 ≤ f ≤ 10000) と本の値段 b (100 ≤ b ≤ 20000) が与えられる。

・期待する出力
 本を買うためにA君から借りなければならない最小の金額を1行に出力する。
 ただし、A君の手持ちの 金額をすべて借りても本を買えないときは、"NA" と1 行に出力する。

僕が作成、提出したコードは、以下のとおりです。

/*
 Problem Set from Volume3 0358 : Shopping
 http://judge.u-aizu.ac.jp/
 C言語による所持金の最小の不足額
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
    int m,f,b;
    scanf("%d %d %d",&m,&f,&b);
    if(m>=b){
        printf("0\n");
    }else if(m+f>=b){
        printf("%d\n",b-m);
    }else{
        printf("NA\n");
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
Problem Set from Volume3 0358 : Shopping