問題
0から9までを数えるカウンタを考えます。
0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9
このカウンタの拡張として、任意の数から始められるカウンタを考えました。
2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 0 → 1
(2から始める例、カウンタは9まで進んだら0に戻ります)
入力から数字nを受け取り、nからカウンタをスタートさせて、カウンタの値を順番に10個出力するプログラムを実装してください。
入力される値
入力は以下のフォーマットで与えられます
1 |
n |
- nはカウンタの最初の値
期待する出力
nから始まるカウンタの10個の値を、順番に改行区切りで出力してください。
考え方
n から始まり、 n + 9 となるまで加算するループを作る。ただしその場合、仮に n = 2 ならば最終的な値は 11 となってしまい条件を外れてしまうため、10で割った剰余を求め、それを表示させることで条件を満たす。
実行例
for ループを使った場合
1 2 3 4 5 |
let i = Int(readLine()!)! for j in 0..<10 { print((i + j) % 10) } |
1 2 |
let i = Int(readLine()!)! _ = [Int](0...9).map { print(($0 + i) % 10) } |