IT・ビッグデータ徒然ブログ

関西でインフラ、データ基盤系のエンジニアになりたい

AtCoderに登録したら解くべき精選過去問10問の類題をC++で解いてみた(その1)

C, C++の勉強を兼ねて、
AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~
をやっていたのですが、10問終えたので、類題を解いていこうと思います。

まずは、ABC 086 A - Product の類題から。

ABC 064 A - RGB Cards

  • 倍数判定
  • 3つの数字から3桁の数字を作り出して、4で割り切れるか判定
#include <iostream>


using namespace std;

int main() {
    int r,g,b;
    int integer;
    cin >> r >> g >> b;

    r *= 100;
    g *= 10;
    
    integer = r + g + b;

    if(integer % 4 == 0) {
        cout << "YES" << endl;
    } else {
        cout << "NO" << endl;
    }

    return 0;
}

ABC 088 A - Infinite Coins

  • 余り計算
  • 500で割った時の余り(=500以下の数値)を出して、それがcoinsの数以下かどうか判定
#include <iostream>


using namespace std;

int main() {

    int yen,coins;
    int remain;

    cin >> yen;
    cin >> coins;

    remain = yen % 500;

    if(remain <= coins) {
        cout << "Yes" << endl;
    } else {
        cout << "No" << endl;
    }

    return 0;
}

ABC 082 A - Round Up the Mean

  • 小数点以下の切り上げ
  • キャストを使いながら、小数点以下の値がある場合に1繰り上げるように処理してみた
#include <iostream>


using namespace std;

int main() {

    int a,b,int_cast_avg;
    double avg;

    cin >> a >> b;

    avg = (a + b) / 2.0;
    int_cast_avg = (int)avg;

    if(int_cast_avg < avg) {
        int_cast_avg++;
    }

    cout << int_cast_avg << endl;

    return 0;
}