AOJの プログラミング入門 トピック3にチャレンジしました。
トピック3 繰り返し処理
トピック3は繰り返し処理が3_Aから3_Dまであります。
3_A:Print Many Hello World
入力データはなく、1000行のHello Worldを出す問題です。
for文で書いてみました。
for iii in range(1000):
print("Hello World")
3_B:Print Test Cases
複数行入力し、それぞれの行にCase??をつけて出力する問題です。
whilr:Trueで無限ループを作り、0が入力されたらbreakし終了、それ以外はprintで表示するようにしました。表示される際にスペースがはいるとクリアできなかったのでスペースを削除するようにsep=''を追加しました。
count=1
while True:
aaa = int(input())
if aaa == 0 :
break
else:
print("Case ",count,": ",aaa,sep='')
count+=1
3_c:Swapping Two Numbers
同様に無限ループにし、大小比較かソートで解決しました。
2つの入力値が0のとき、breakするように書いて対応しました。
aaa == 0 and bbb==0 と書かずに aaa==0 & bbb==0と書いてしまうと、aaa==0の結果とbbb==0の結果の2つの数字をand((1,1)なら1、それ以外は0)となり、条件文内容が変わってしまうので注意が必要です。
3_d:How Many Divisors?
最後は約数を求める問題です。
%演算子を用いて割り切れるかを判定し、その数をカウントすれば解けました。