1
0

paizaラーニング解答: ループメニュー1[Ruby]

Posted at

ループメニュー1

ループ処理は他の問題集を解くために必須となります。
問題も易しいので標準入出力ができるようになったらすぐ取り組んだ方がいいですね。

STEP: 1 ある数字までの出力 1

(1..10).each do |i|
    puts i
end

eachループ

STEP: 2 ある数字までの出力 2

n = gets.to_i
for i in 1..n
    puts i
end

for inループ

STEP: 3 数字の受け取り 1

a = gets.split.map(&:to_i)
puts a

putsは配列の要素を改行して出力するのでループ処理のように使うことができます。

STEP: 4 数字の受け取り 2

n = gets.to_i
a = gets.split.map(&:to_i)
a.each do |i|
    puts i
end

配列から要素を取り出す繰り返し処理はeachだと簡単に記述できます。

STEP: 5 ある数をある回数表示 1

8.times do
    puts 3
end

timesループ

STEP: 6 ある数をある回数表示 2

n, k = gets.split.map(&:to_i)
k.times { puts n }

do endと{}はほぼ同じように使えます。

FINAL問題 a ~ z までを表示

("a".."z").each { |i| puts i }

STEP: 1 数列の和

n = gets.to_i
a = gets.split.map(&:to_i)
puts a.sum

STEP: 2 数列の A 番目から B 番目までの和

n, a, b = gets.split.map(&:to_i)
array = gets.split.map(&:to_i)
puts array[a - 1..b - 1].sum

STEP: 3 数列の値を全部 * 2 して出力

n = gets.to_i
a = gets.split.map(&:to_i)
a.each { |i| puts i * 2 }

FINAL問題 数列同士の引き算

n = gets.to_i
a = gets.split.map(&:to_i)
b = gets.split.map(&:to_i)
n.times { |i| puts a[i] - b[i] }

STEP: 1 数列の反転

n = gets.to_i
a = gets.split.map(&:to_i)
puts a.reverse

STEP: 2 九九の表示 1

steps = []
(1..9).each { |i| steps << 8 * i }
puts steps.join(' ')

STEP: 3 九九の表示 2

n = gets.to_i
steps = []
(1..9).each { |i| steps << n * i }
puts steps.join(' ')

STEP: 4 2 の累乗を表示

n = gets.to_i
(1..n).each { |i| puts 2 ** i }

FINAL問題 FizzBuzz

for i in 1..100
    if i % 15 == 0
        puts "FizzBuzz"
    elsif i % 3 == 0
        puts "Fizz"
    elsif i % 5 == 0
        puts "Buzz"
    else
        puts i
    end
end

FizzBuzz問題はpaizaラーニングの講座で詳しく取り上げられています。講座内で使用するプログラミング言語は違いますが、説明に沿って取り組めば問題ありません。

STEP: 1 数列の最大値

n = gets.to_i
a = gets.split.map(&:to_i)
puts a.max

STEP: 2 数列の最小値

n = gets.to_i
a = gets.split.map(&:to_i)
puts a.min

STEP: 3 数列の何番目にある?

n = gets.to_i
a = gets.split.map(&:to_i)
puts a.index(1) + 1

FINAL問題 数列の中に何個ある?

n = gets.to_i
a = gets.split.map(&:to_i)
puts a.count(1)
1
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
1
0