0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AtCoderログ:0007 - ABC 208 A

Last updated at Posted at 2021-07-05

問題

問題文

$1,2,\dots,6$ の出目がある $6$ 面サイコロを $A$ 回振ったとき、出た目の合計が $B$ になることはありますか?

制約

・$1 \le A \le 100$
・$1 \le B \le 1000$
・$A,B$ は整数である。

回答

回答1 (AC)

サイコロを $1$ 回振ったときの出目は $1$ 以上 $6$ 以下なので、$A$ 回振ったときの出目は $A$ 以上 $6A$ 以下となります。従って、サイコロを振る回数を a 回、出目の合計を b とするとき、b が出目の合計としてあり得るための条件は a<=b かつ b<=6*a となり、これを判定すれば良いことがわかります。コードは以下のようになり、無事、ACとなりました。なお、私が ABC 208 に参加したときの提出コードも同じ方針で作成しました。

abc208a.cpp
#include <bits/stdc++.h>
using namespace std;
 
int main() {
  int a, b;
  cin >> a >> b;
  
  if ( a<=b and b<=6*a ) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
}

おまけ

$B$ が出目の合計値としてふさわしいとき、具体的な目の出方(の一例)を求めます。サイコロは $A$ 回振ったので、$B$ を $A$ で割った商を $q$, 余りを $r$ とおく (つまり $B=Aq+r~(0 \le r <A)$ ) とおくと、毎回の目を $q$ とすると合計値は $r$ だけ不足します。そこで、目 $q+1$ が $r$ 回、目 $q$ が $A-r$ 回出れば、出目の合計は $(q+1)r+q(A-r)=qr+r+qA-qr=r+qA=B$ となります。
例えば $A=4, B=23$ の場合、$23=4\times5+3$ なので、$q=5, r=3$ であり、$5, 5, 5, 4, 4$ という出目のパターンを得ることができます。

調べたこと

AtCoder の解説公式解説

回答と同じ方針でした。

リンク

ABC 208 関連情報

前後の記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?