2022-09-01から1ヶ月間の記事一覧

池の周回

#お題 京子ちゃんは 1 周がNメートルの円の外周上にいます。京子ちゃんは 1 ターンで現在地点から K メートル時計回りに円周上を歩きます。スタート地点から開始してTターン歩いたとき、京子ちゃんが丁度スタート地点に戻ってきているかどうかを判定してくだ…

終了判定 2

#お題 2 以上の整数N, Kが与えられます。「Nを 2 倍した数でNを更新する」という操作を何度か繰り返すことを考えます。このとき, ちょうどある回数 M で N の値は K 以上になります。この時点で操作の繰り返しを終了することにします。この繰り返しの回数Mを…

終了判定

#お題 長さ N の数列Aが与えられます。 1 つ目の要素から最も左にある奇数の要素の手前までの値の和を求めてください。形式的には、A_iが奇数かつ、区間 [A_1, A_{i - 1}] がすべて偶数であるとき、を求めてください。 #入力 NA_1 A_2 ... A_N #出力 答えと…

同値判定

#お題 整数N, 2 つの数列A, B が与えられます。 1 ≦ i ≦ N を満たす整数 i のうち、A_i と B_i が等しくなるような i の個数を求めてください。 #入力 NA_1 A_2 ... A_NB_1 B_2 ... B_N #出力 A_i == B_iである要素の個数Cを求めてください。末尾に改行を入…

足したり引いたり

#お題 整数N, A, B ( - 99 ≦ N, A, B ≦ 100 ) があります。以下の 2 つの操作をそれぞれ 1 回ずつおこなったとき、Nを 0 にできる場合はYESを、できない場合はNOを出力してください。1. NにAを足す、またはNからAを引く2. NにBを足す、またはNからBを引く #…

けた数の測定

#お題 整数Nが与えられます。Nのけた数を出力してください。 #入力 N #出力 N のけた数Dを出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。 D #コード a = input() print(len(a)) #参考 n = int(input()) if n <= 9: print(1) e…

FizzBuzz

整数Nが与えられます。 Nが 3 で割り切れる場合はFizz、Nが 5 で割り切れる場合はBuzz、 Nが 3 と 5 の両方で割り切れる場合はFizzやBuzzの代わりにFizzBuzzを出力してください。ただし、Nが 3 の倍数でも 5 の倍数でもないときはNをそのまま出力してくださ…

曜日の判定

ある月の 1 日は日曜日、 2 日は月曜日...です。X日は何曜日でしょう。 #入力 X #出力 答えとなる曜日Sを短縮した表記で出力してください。具体的に、日曜日の場合はSun、月曜日の場合はMon、火曜日の場合はTue、水曜日の場合はWed、木曜日の場合はThu、金曜…

偶奇の判定

長さ N の数列Aが与えられます。この数列に含まれる偶数の要素の個数と、奇数の要素の個数を答えてください。 #入力 NA1 A2 ... AN #出力 偶数の要素の個数Eと、奇数の要素の個数Oを半角スペース区切りで出力してください。末尾に改行を入れ、余計な文字、空…

3 の倍数判定

整数Nが与えられます。Nが 3 の倍数の場合はYESを、そうではない場合はNOを出力してください。 #入力 N #出力 YESまたはNOを出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。 YES または NO #コード a = int(input()) if a % 3 …

AND+OR

3 つの整数X, Y, Zが与えられます。「Xが 10 以上」かつ「Yが 10 以上」の場合はYESを、そうではない場合はNOを出力してください。ただし、「Zが 10 以上の」場合はXとYの値にかかわらず、必ずYESを出力してください。 #入力 X Y Z #出力 YESまたはNOを出力…

AND+NOT

2 つの整数A、Bが与えられます。以下の条件を満たす場合はYESを、そうではない場合はNOを出力してください。・「Aが 10 以上」 かつ 「Bが 10 以上ではない」 #入力 A B #出力 YESまたはNOを出力してください。末尾に改行を入れ、余計な文字、空行を含んでは…

大文字判定

大文字または小文字のアルファベットCが与えられます。Cが大文字の場合はYESを、そうではない場合はNOを出力してください。 #入力 C #出力 YESまたはNOを出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。 YES または NO #コード…

0 が含まれていないか判定

長さ N の数列Aが与えられます。Aの中に 0 が含まれていない場合はYESを、 0 が含まれている場合はNOを出力してください。 #入力 NA_1A_2...A_N 入力値最終行の末尾に改行が1つ入ります。@ #出力 YESまたはNOを出力してください。末尾に改行を入れ、余計な…

ゼロ以外

整数 N が与えられます。Nが 0 ではない場合はYESを、 0 である場合はNOを出力してください。 #入力 N #出力 YESまたはNOを出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。 YES または NO #コード a = int(input()) if a == 0:…

数値演算結果で分岐

整数 A, B, C が与えられます。式 A × B ≦ C が成立している場合はYESを、そうではない場合はNOを出力してください。 #入力 A B C #出力 YESまたはNOを出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。 YES または NO #コード a…

論理演算を用いた計算のまとめ

0 または 1 の整数 A, B, C, D が与えられます。 以下の式を計算した結果を出力してください。 #入力 A B C D #出力 問題文の式の計算結果を 0 または 1 で出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。 #コード a,b,c,d = m…

全加算器

京子ちゃんは 二進数 の整数同士で足し算をするプログラムを作成したいと思っています。二進数の足し算において、下から 1 けた目の計算は半加算器でできることを知り、 2 けた目の計算も同じように足し算ができないかと考えています。上記の画像のように、 …

半加算器

京子ちゃんは 二進数 1 けたの整数 A と B を使って、 A + B を計算したいと思っています。上記の画像のように、 A と B を足した結果 (2 進表記) の下から 2 けた目の値を C 、下から 1 けた目の値を S とします。 C と S を出力してください。 #入力 A B #…

XNOR 演算の基本

0 または 1 の整数 A と B が与えられます。 A XNOR B の結果を出力してください。 ここで、 XNOR 演算とは、以下の表にしたがって算出する論理演算のことを指します。 入力1 入力2 出力 0 0 1 0 1 0 1 0 0 1 1 1 #入力 A B #出力 A XNOR B の結果を 0 また…

ド・モルガンの法則

NOR 演算は NOT OR 演算の略で、論理和の否定となります。 多くの言語において NOR を表現する二項演算子は定義されていませんが、 ド・モルガンの法則 という法則を用いると、これまでに学習した AND, NOT 演算を組み合わせることによって NOR 演算と等価な…

NOR 演算の基本

0 または 1 の整数 A と B が与えられます。 A NOR B の結果を出力してください。ここで、 NOR 演算とは、以下の表にしたがって算出する論理演算のことを指します。 入力1 入力2 出力 0 0 1 0 1 0 1 0 0 1 1 0 #入力 A B #出力 A NOR B の結果を 0 または 1 …

NAND 演算の基本

0 または 1 の整数 A と B が与えられます。 A NAND B の結果を出力してください。ここで、 NAND 演算とは、以下の表にしたがって算出する論理演算のことを指します。 入力1 入力2 出力 0 0 1 0 1 1 1 0 1 1 1 0 #入力 A B #出力 A NAND B の結果を 0 または…

排他的論理和( XOR )の基本

0 または 1 の整数 A と B が与えられます。 A XOR B の結果を出力してください。ここで、 XOR 演算とは、以下の表にしたがって算出する論理演算のことを指します。 入力1 入力2 出力 0 0 0 0 1 1 1 0 1 1 1 0 #入力 A B #出力 A XOR B の結果を 0 または 1 …

否定( NOT )の基本

0 または 1 の整数 A が与えられます。 NOT A の結果を出力してください。ここで、 NOT 演算とは、以下の表にしたがって算出する論理演算のことを指します。 入力 出力 0 1 1 0 #入力 A #出力 NOT A の結果を 0 または 1 で出力してください。末尾に改行を入…

論理和( OR )の基本

0 または 1 の整数 A と B が与えられます。 A OR B の結果を出力してください。ここで、 OR 演算とは、以下の表にしたがって算出する論理演算のことを指します。 入力1 入力2 出力 0 0 0 0 1 1 1 0 1 1 1 1 #入力 A B #出力 A OR B の結果を 0 または 1 で…

論理積( AND )の基本

0 または 1 の整数 A と B が与えられます。 A AND B の結果を出力してください。ここで、 AND 演算とは、以下の表にしたがって算出する論理演算のことを指します。 入力1 入力2 出力 0 0 0 0 1 0 1 0 0 1 1 1 #入力 A B 入力値最終行の末尾に改行が1つ入り…

代入演算 2

整数 A, B, C が与えられます。以下のアルゴリズムを実行してください。 変数 N を 0 で初期化するN に A を足した値を N へ代入するN に B をかけた値を N へ代入するN を C で割ったあまりを N へ代入するN を出力する #入力 A B C 入力値最終行の末尾に改…

代入演算 1

以下のアルゴリズムを実行してください。 変数 N を 0 で初期化するN に 3,286 を足した値を N へ代入するN に 4,736 をかけた値を N へ代入するN を 12,312 で割った余りを N へ代入するN を出力する #コード n = 0n += 3286n *= 4736n %= 12312print(n) #…

累乗

整数 A = 202、B = 134、C = 107 とします。 を計算した結果を出力してください。 #入力 なし #出力 計算結果 N を一行で出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。 N #コード a = 202b = 134c = 107print(((a + b) * c) …