お題

パスカルの三角形を出力してください。

入出力例1

入力

3

出力

1
1 1
1 2 1

入出力例2

入力

5

出力

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

チェック用スクリプト

チェック用スクリプトを書きました。紙面の都合上(紙面?)よみづらいプログラムになってます。

h="1\n1 1\n1 2 1";j=h.gsub(/$/m," ");k="1\n1 1"+
"\n1 2 1\n1 3 3 1\n1 4 6 4 1";l=k.gsub(/$/m," ")
f=open"|"+$*[0],"r+";f.puts"3";a=f.read.chomp;f.close
if h==a||j==a;puts"Q1 OK";else;puts"Q1 NG";end
f=open"|"+$*[0],"r+";f.puts"5";a=f.read.chomp;f.close
if k==a||l==a;puts"Q2 OK";else;puts"Q2 NG";end

使い方

上の文字列をhoge.rbというファイル名にして、自分の作ったプログラムを./a.outにしたなら

ruby hoge.rb ./a.out

提出

C

C++

D

Ruby

  • 11 12/09 aom cent5.7 ruby1.9.1 88byte
    $_.to_i.times{|x|(x+1).times{|y|print ($F*x).combination(y).to_a.length.to_s+" "};puts}
    
  • anオプションを必要とします。 1.9系以上でしか動作しません

Java

Haskell

Common Lisp

nasm

brainfsck

なでしこ

参考

Rubyで短くないプログラムを作りました。参考にしてください。

def C(n, r)
    func(n) / (func(r) * func(n - r))
end

def func(i)
    if i == 0
        1
    else
        i * func(i - 1)
    end
end

n = gets.to_i

for i in 0..n - 1
    for j in 0..i
        print C(i, j), " "
    end
    puts
end
  • HTML
  • PDF
RSS2.0 RSS1.0 Atom1.0