LoginSignup
0
0

More than 3 years have passed since last update.

AIZU ONLINE JUDGE の問題をSwiftでやってみた(プログラミング入門 繰り返し処理編)

Last updated at Posted at 2020-07-09

トピック #1 繰り返し処理

AIZU ONLINE JUDGEの問題にSwiftで解答したものになります。競技プログラミングは普段やりませんので、こうしたほうが簡単!などがあればコメントで教えて下さい。
テスト入力はこちらのPaisa.IOで行っています。

3_A 複数のHelloWorldの出力

問題
1000 個の "Hello World" を出力するプログラムを作成して下さい。
解答

for _ in 0 ..< 1000 {
    print("Hello World")
}

3_B テストケースの出力

問題
入力は複数のデータセットから構成されています。各データセットは1つの整数 x を含む1行から構成されています。xが0のとき入力の終わりを示し、このデータセットに対する出力を行ってはいけません。
各データセットごとに、以下の形式で x を出力して下さい
3
5
11
7
8
19
0

Case 1: 3
Case 2: 5
Case 3: 11
Case 4: 7
Case 5: 8
Case 6: 19

var count = 1
while(true) {
    let a = Int(readLine()!)!
    if a == 0 {
        break
    }
    print("case \(count): \(a)")
    count += 1
}

3_C 2つの数の交換

問題
入力は複数のデータセットから構成されています。各データセットは空白で区切られた2つの整数 x, y を含む1行から構成されています。x と y がともに 0 のとき入力の終わりを示し、このデータセットに対する出力を行ってはいけません。
入力
3 2
2 2
5 3
0 0
出力
2 3
2 2
3 5

while(true){
    let a = readLine()!.split(separator: " ").map({Int($0)!})
    let first = a[0]
    let second = a[1]
    if first == 0 && second == 0{
        break
    }
    print(a[1],a[0])
}

3_D約数の数

入力
3つの整数a、b、cを読み込み、aからbまでの整数の中にcの約数がいくつあるのかを求めるプロフラムを作成して下さい。
解答

let a = readLine()!.split(separator: " ").map({Int($0)!})
var multipleArr: [Int] = []
var count = 0
for i in 0 ..< a[2] {
    if a[2].isMultiple(of: i) {
        multipleArr.append(i)
    }
}

for i in a[0] ..< a[1] {
    if multipleArr.contains(i) {
        count += 1
    }
}

print(count)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0