pontz_rwのブログ

プログラミング等の備忘録

python

ITP1_6_D: Matrix Vector Multiplication

行列とベクトルの積 | プログラミング入門 | Aizu Online Judge ベクトルと行列の積についての問題 この式に沿って問題を解いていきます。 解答1 n, m = map(int, input().split()) A = [] b = [] # 行列Aに要素を追加 for i in range(n): A.append([int(s) …

ITP1_6_C: Official House

公舎 | プログラミング入門 | Aizu Online Judge 配列に関する問題 多次元配列を利用します。 解答 houses = [[[0 for r in range(10)] for f in range(3)] for b in range(4)] n = int(input()) for i in range(n): b, f, r, v = map(int, input().split())…

ITP1_6_B: Finding Missing Cards

なくなったカードの発見 | プログラミング入門 | Aizu Online Judge 不足しているカードを指定された順序で表示する問題 トランプのリストを用意しておき、指定されたカードをフラグで管理するか、取り除くかします。 解答1 # トランプの生成 cards = [ "{} …

ITP1_6_A: Reversing Numbers

数列の反転 | プログラミング入門 | Aizu Online Judge リストを逆順にする問題 解答1 reverse()を使用してリストを逆順にしています。 input() list = input().split() list.reverse() print(" ".join(list)) 解答2 リストに対して[::-1]を指定することで逆…

ITP1_5_D: Structured Programming

構造化プログラミング | プログラミング入門 | Aizu Online Judge プログラムを書き直す問題 3の倍数であるか、剰余が3か0になるまで10で割り続け、3である場合に、その数字を出力します。 解答1 *演算子を使用し、リストやタプルから引数をアンパックします…

ITP1_5_C: Print a Chessboard

チェック柄の描画 | プログラミング入門 | Aizu Online Judge 繰り返し構文を用いて2種類の文字列を出力する問題 現在の行と列の番号の合計が奇数か偶数かで出力する文字列が変わります。 解答1 while True: H, W = map(int, input().split()) if H == W == …

ITP1_5_B: Print a Frame

フレームの描画 | プログラミング入門 | Aizu Online Judge 繰り返し構文を用いて2種類の文字列を出力する問題 四角形の枠と中身とで条件分岐させます。 枠を出力するのは、最初と最後の行と、そのほかの行の最初と最後の列です。 解答1 while True: H, W = …

ITP1_5_A: Print a Rectangle

長方形の描画 | プログラミング入門 | Aizu Online Judge 繰り返し構文を利用した文字列の出力をする問題 指定された行列分、文字列の出力を繰り返します。 列が進むたびに'#'を出力し、行が進むたびに改行を行います。 解答1 while True: H, W = map(int, i…

ITP1_4_D: Min, Max and Sum

最小値, 最大値, 合計値 | プログラミング入門 | Aizu Online Judge 最小値、最大値、合計値を求める問題 最小値、最大値については、順次比較をし、入れ替えるかどうかを条件分岐させます。 最大値は、順次加算していきます。 解答1 n = int(input()) line …

ITP1_4_C: Simple Calculator

単純計算器 | プログラミング入門 | Aizu Online Judge 入力値から数値と演算子を読み込み計算する問題 解答1 while True: line = input().split() a = int(line[0]) op = line[1] b = int(line[2]) if op == '+': print(a + b) elif op == '-': print(a - b…

ITP1_4_B: Circle

円 | プログラミング入門 | Aizu Online Judge 円の面積と円周を求める問題 円周率はmathモジュールの中に、piとして定義されています。 import mathを記述してモジュールを取り込みます。 math.pyと記述し、mathモジュールの中のpiを利用します。 解答 impo…

ITP1_4_A: A / B Problem

A / B 問題 | プログラミング入門 | Aizu Online Judge 割り算の問題 python3では、割り算に関して以下の三つの形式があります。 /は、除算をし浮動小数点数を返します。 //は、除算をし小数部を切り捨てて整数を返します。 %は、剰余を返します。 解答 a, b…

ITP1_3_D: How Many Divisors?

約数の数 | プログラミング入門 | Aizu Online Judge 約数の個数を求める問題 aからbまでの間繰り返すのにrange()を利用します。 cの約数であるということは、cで割ったときの余りが0であることに等しいので、その個数を記録します。 解答 a, b, c = map(int…

ITP1_3_C: Swapping Two Numbers

2つの数の交換 | プログラミング入門 | Aizu Online Judge 複数の入力値を比較し入れ替えて出力する問題 a > bとそれ以外の場合とで条件を分岐して出力します。 解答1 while True: a, b = map(int, input().split()) if a == 0 and b == 0: break elif a < …

ITP1_3_B: Print Test Cases

テストケースの出力 | プログラミング入門 | Aizu Online Judge 複数の入力データを処理する問題 入力値が0の場合に繰り返し構文から抜けます。 解答1 i = 1 while True: x = int(input()) if x == 0: break print("Case {}: {}".format(i, n)) i += 1 解答2…

ITP1_3_A: Print Many Hello World

複数のHello World | プログラミング入門 | Aizu Online Judge 繰り返しに関する問題 for文とrange()を使用します。 range()は指定した条件に従ってリストオブジェクトを作成して返してくれます。 range(1000)と記述した場合、リスト[0, 1, ... ,999]が返さ…

ITP1_2_D: Circle in a Rectangle

長方形の中の円 | プログラミング入門 | Aizu Online Judge 比較の問題 条件は、頂点(0, 0)と頂点(W, H)からなる長方形の中に円が含まれるかどうかです。 頂点(x, y)、頂点(W, H)と円の中心と半径との関係を考えます。頂点(x, y)と、円の中心と半径との関係…

ITP1_2_C: Sorting Three Numbers

3つの数の整列 | プログラミング入門 | Aizu Online Judge 昇順に並べ替える問題 リストを昇順にソートするにはsort()、もしくはsorted()を使用します。 sort()はリストの本体自体を変更します。対して、sorted()は整列されたリストを返すため、元のリストは…

ITP1_2_B: Range

範囲 | プログラミング入門 | Aizu Online Judge 入力値が昇順かどうかを求める問題 3つの入力値を比較します。 解答1 a, b, c = map(int, input().split()) if(a < b and b < c): print('Yes') else: print('No') 解答2 pythonでは、複数の比較を続けた書く…

ITP1_2_A: Small, Large, or Equal

大小 等価 | プログラミング入門 | Aizu Online Judge 入力値を比較し、大小関係を出力する問題 if文を使用し、条件に応じて処理を分岐させます。 解答1 a, b = map(int, input().split()) if a < b: print('a < b') elif a > b: print('a > b') else: print…

ITP1_1_D: Watch

時計 | プログラミング入門 | Aizu Online Judge 秒単位の入力値をh:m:s形式へ変換する問題 print()を使う際、sep=''オプションを使用することで、区切りながら文字列を出力できます。時間hは、入力値を3600秒で割った商で求められます。 分mは、入力値を時…

ITP1_1_C: Rectangle

長方形 | プログラミング入門 | Aizu Online Judge たて a cm よこ b cm の長方形の面積と周の長さを求める問題 a と b が1つの空白で区切られて与えられます。 まずはsplit()を使い、文字列を分割します。 split()は、引数がない場合、空白文字で分割され…

ITP1_1_B: X Cubic

x の3乗 | プログラミング入門 | Aizu Online Judge xの3乗を求める問題です。 標準入力の受け取りにはinput()を使います。 str型、文字列で受け取るので、それをint()を使い、整数へ変換します。 解答1 x = int(input()) print(x * x * x) 解答2 累乗の計…

ITP1_1_A: Hello World

記念すべき最初の問題 Hello World | プログラミング入門 | Aizu Online Judge 内容は、"Hello World" と一行に出力することです。 解答 print("Hello World") ちなみにWikipediaに Hello worldプログラムの一覧 - Wikipedia が記載されています。 参考まで…