AtCoderはじめてみた
palm
Palm Blog
こんにちは、Palmです!
明日ついに私の通っている、
東京通信大学の新宿校で
プログラミングワークショップ(略してWS)
が開催されます!
今回は明日の予習として
競プロの鉄則を少しやってみました!
競技プログラミングの鉄則はこちらです!
それではやっていきましょう!
与えられた整数の二乗を計算して表示するプログラムです。
とても単純です!!
N = int(input())
print(N**2)
リストAの中に指定された数Xが存在するかどうかをチェックし、
その結果から 「Yes」 か 「No」を出力するプログラムです!
最初はinput()の位置に迷いましたが、
TrueかFalseを格納する変数を用いることで
みごと出力することができました!
N,X = map(int,input().split())
A = list(map(int, input().split()))
Flag = False
for i in range(N):
if A[i] == X:
Flag = True
break
if Flag:
print("Yes")
else:
print("No")
二つの整数リスト PとQから各リストの要素を一つずつ選んで和を取り、
その和が指定された整数Kと一致するかどうかを調べるものです。
これは難なくクリアできました!
N,K = map(int, input().split())
P = list(map(int, input().split()))
Q = list(map(int, input().split()))
flag = False
for i in range(N):
for j in range(N):
if P[i] + Q[j] == K:
flag = True
if flag:
print("Yes")
else:
print("No")
入力された整数Nを2進数に変換するプログラムです。
2進数は2で割り続け、余り(0か1)を格納していきます
ルールがあって10桁までというのを忘れてたのでrangeの中に10!!
(このループは10回まで実行されるということ!)
N = int(input())
ans = ''
for i in range(10):
remainder = N % 2
ans += str(remainder)
N //= 2
ans = ans[::-1]
print(ans)
これは難問だった!
Nまでの範囲内で3つの整数の組み合わせのうち、
3つの数和がKに等しくなるものの数をカウントするプログラムです。
forループを3回繰り返せば完成!と思っていたのですが、
違いました!!
変数がわかりにくくて申し訳ないのですが
変数kは、
iとjの和をKから引くことでkの値が求められ、
kがNの範囲内にあれば、
これがちゃんとした組み合わせと見なされるというものでした!
N, K = map(int, input().split())
count = 0
for i in range(1,N+1):
for j in range(1,N+1):
k = K - i - j
if k >= 1 and k <= N:
count += 1
print(count)
競技プログラミングの鉄則という問題集をやってみました。
明日までにあと5問触ってみたいです!
最後まで読んでいただきありがとうございました!