[AtCoder]ABC 115A – Christmas Eve Eve Eve[C++]

プログラミング

引き続き、AtCoderの過去問をC++で解いていきます。ABC 115A – Christmas Eve Eve Eveから。

ABC 115A – Christmas Eve Eve Eve

問題

D=25なら Christmas, D=24なら Christmas Eve, D=23なら Christmas Eve Eve, D=22なら Christmas Eve Eve Eve と出力するプログラムを作ってください。

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int d;
  cin >> d;
  
  if (d == 25){
    cout << "Christmas" << endl;
  }else if (d == 24){
    cout << "Christmas Eve" << endl;
  }else if (d == 23){
    cout << "Christmas Eve Eve" << endl;
  }else if (d == 22){
    cout << "Christmas Eve Eve Eve" << endl;
  }
}

ゴリ押しです。ホントはdの数に合わせて、whenなどを回すとスマートなのかなと思いますが、他の人の回答を見ても、同じようにしてますね。

ABC 116A – Right Triangle

問題

直角三角形 ABCがあります。∠ABC=90°です。
三角形 ABCの三辺の長さである |AB|,|BC|,|CA|が与えられるので、直角三角形ABCの面積を求めて下さい。

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int ab, bc, ca;
  cin >> ab >> bc >> ca;
  
  cout << ab * bc / 2 << endl;
}

三角形の面積を求めればいいですね。底辺✖️高さ/2ですね。辺caの値は与えられていますが、特に使いませんね。

ABC 117A – Entrance Examination

問題

明日の入学試験に合格するために、太郎くんはあとT時間の勉強をする必要があります。
幸いにも、彼は今いる世界(世界A)のX倍の速度で時間が進む世界Bへ世界跳躍(ワールドリープ)することができます。
世界Bで(X×t)時間進むと、世界Aではt時間進みます。
世界BでT時間勉強したとき、世界Aでは何時間進んでいるでしょうか。

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  float t, x;
  cin >> t >> x;
  
  cout << t / x << endl;
}

tをxで割ってあげれば、答えとなります。注意する点は、tとxをfloat型で受け取っていることです。

ABC 118A – B +/- A

問題

正整数A,Bが与えられます。
AがBの約数ならA+Bを、そうでなければB−Aを出力してください。

自分の回答

#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int a, b;
  cin >> a >> b;
  
  if (b % a == 0){
    cout << a + b << endl;
  }else {
    cout << b - a << endl;
  }
}

aがbの約数かどうかを確かめるためには、aでbを割って余りが0であれば、aはbの約数ということができます。コードでいうと、b % a == 0の時となります。

タイトルとURLをコピーしました