# IsPrime

#### 解法

まず動いているコードをfactor.rbと名付けかえる．

[BobsNewPBG4-6:~/Ruby/isprime] bob% cp hello.rb factor.rb
[BobsNewPBG4-6:~/Ruby/isprime] bob% cat factor.rb
print "Hello world!\n"
[BobsNewPBG4-6:~/Ruby/isprime] bob% ruby factor.rb
Hello world!

[BobsNewPBG4-6:~/Ruby/isprime] bob% emacs factor.rb
File Edit Options Buffers Tools Help
print "Hello world!\n"

print "Hello world!\n"
puts gets.chomp
[BobsNewPBG4-6:~/Ruby/isprime] bob% !r
ruby factor.rb
Hello world!
4
4

それらしく書き換える．

[BobsNewPBG4-6:~/Ruby/isprime] bob% cat factor.rb
print "Input number:"
n=gets.chomp
puts n
[BobsNewPBG4-6:~/Ruby/isprime] bob% ruby factor.rb
4

[BobsNewPBG4-6:~/Ruby/isprime] bob% cat factor.rb
print "Input number:"
n = gets.chomp.to_i
puts n
i=1
while (i<=n) do
print(i,"\n")
i+=1
end
[BobsNewPBG4-6:~/Ruby/isprime] bob% ruby factor.rb
Input number:5
5
1
2
3
4
5

to_iで整数に変換しておく．

[BobsNewPBG4-6:~/Ruby/isprime] bob% cat factor.rb
print "Input number:"
n = gets.chomp.to_i
puts n
i=1
f=1
while (i<=n) do
f=f*i
print(i,"!=",f,"\n")
i+=1
end
[BobsNewPBG4-6:~/Ruby/isprime] bob% ruby factor.rb
Input number:5
5
1!=1
2!=2
3!=6
4!=24
5!=120

#### 派生課題

f.to_s.length

(string(文字列)に変換して長さ(length)を取る)を使って階乗の桁数を出力するコードに書き換えよ．

#### 類題

のn=100までを計算するプログラムを書け．

ヒント

ヒント1

ヒント2

ヒント3(高速化)