def Input_checker_1(x, y): if x > y: print("\nA≤Bが必須です。AとBを再入力してください。\n") return False return True def Input_checker_2(x, y): if x < 1 or y > 2000000000 or y - x >= 100: print(f"""\n入力値が範囲外です。\n1~{2000000000:,}の範囲内で、 差が100以下のA、Bの値を再入力してください。\n""") return False return True def input_func(): input_num = list(int(x) for x in input().split()) a = input_num[0] b = input_num[1] return [a, b] print("整数A、Bの値を入力してください。\n半角スペースで区切ってください。(A≤B)\n") Input_checked = False valid_AB = input_func() a = valid_AB[0] b = valid_AB[1] result = [] #入力値チェック Input_checked = Input_checker_1(a, b) if Input_checked == False: a, b = input_func() else: Input_checked = Input_checker_2(a, b) if Input_checked == False: a, b = input_func() #3の倍数および3の付く数を抽出 for i in range(a, b + 1): if i % 3 == 0 or '3' in str(i): result.append(i) for i in sorted(result): print(i)