パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Ruby151-200

2018-07-16 | プログラムをマスター計画2020
これはclash of codeの世界でRubyの初心者が競った結果です。


競った相手、実は半数がBOT。
問題がかなりかぶったのでその問題は削除してます。

#a-bとa+bの答えを並べて表示
a,b=gets.split(" ").collect{|x|x.to_i}
puts (a-b).to_s+(a+b).to_s



#バイナリ化したときの長さ
@n = gets.to_i
@n.times do
    x = gets.to_i.to_s(2)
    puts x.length
end




#nまでの奇数
@n = gets.to_i
for num in 1..@n do
    if (num%2==1)    
        puts num
    end
end


# + Box
s=gets.to_i
for num in 1..s do
  puts "+"*s
end



#偶数と奇数で1になるまで計算
n = gets.to_i
o=""
while 1 do
    if (n.to_i==1)
        o+="1"
        break
    end    
    o+=n.to_s+" "
    if (n%2==0)
        n=n/2
    else
        n=n*3+1
    end
end
puts o



#文字列をn回表示
@n = gets.to_i
@w = gets.chomp

for num in 1..@n do
  puts @w
end




#xのy乗の答えの全数字をたす
x=gets.to_i
y=gets.to_i
q=(x**y).to_s
a=0
for i in 0..q.length-1 do
a+=q[i].to_i
end
p a




@h = gets.to_i
puts @h*64




#アルファベットに数計算
@n = gets.to_i
@s = gets.chomp.downcase

for i in 1..26 do
    c=@s.count((96+i).chr)
    if (c>0)
        puts (96+i).chr*c
    end
end




@n = gets.to_i
@m = gets.to_i

if (@n>@m)
puts @m
else
puts @n
end




a=0
@n = gets.to_i
@n.times do
    x = gets.to_i
    a+=x
end
puts a



#2つのバイナリのand計算
n1, n2 = gets.split(" ")
o=""
for i in 0..n1.length-1 do
if (n1[i].to_i+n2[i].to_i==0)
    o+="0"
else
    o+="1"
end
end
print(o)



#ax+bを繰り返し
@a, @b = gets.split(" ").collect {|x| x.to_i}
@n = gets.to_i
@n.times do
    x = gets.to_i
    puts @a*x+@b
end




#数値をバイナリ化して全ビット反転した数
n=gets.to_i
b=n.to_s(2)
puts ("1"*b.length).to_i(2)-n



#4で割れたら"AAAAAAAAAA!!!"
n=gets.chomp.to_i
if (n%4>0)
puts"Ok"
else
puts"A"*10+"!!!"
end



#三角形の残りの角
@a, @b = gets.split(" ").collect {|x| x.to_i}
puts 180-@a-@b



#ACGTのカウント
def c(s,w)
return s.count(w).to_s
end
s=gets.chomp
puts c(s,"A")+" "+c(s,"C")+" "+c(s,"G")+" "+c(s,"T")



#達人の別解
s=gets
puts"#{s.count'A'} #{s.count'C'} #{s.count'G'} #{s.count'T'}"




#文字列で最大に重なる部分
#40点の答え
t = gets.chomp

mx=0
o="None"
for p in 0..t.length-1 do 
if (p!=t.rindex(t[p]))
o=t[p-1]
end
end
puts o




#達人の正解
a=gets.downcase
m=0
f=''
a.size.downto(1).each{|n|
(0..(a.size-n)).each{|o|
l=a[o...n]
l=l.gsub("\.","\\.")
s=a.scan(/(?=#{l})/).size
next if s==1
(m=s;f=l)if l.size>f.size||(l.size>=f.size&&s>m)}}
puts f==''?"None":f



#アルファベットa-zを1-26として合計計算
s=gets.chomp.downcase
a=0
for i in 0..s.length-1 do
a+=s[i].ord-96
end
p a


#達人の別解
p=gets.upcase
puts p.sum-p.length*64



#文字列を指定位置から取って循環
n=gets.to_i
w=gets.chomp
t=w.length
w=w+w+w+w+w
for i in n..n+t-1 do
print w[i]
end



#a*x+bを繰り返し解答
a, b = gets.split(" ").collect {|x| x.to_i}
n = gets.to_i
n.times do
    x = gets.to_i
    puts a*x+b
end



#整数の最後のひと桁
@n = gets.to_i
puts @n%10



#5の倍数でFoo 7の倍数でBar
n=gets.to_i
for i in 1..n do
o=""
if(i%5==0)
o="Foo"end
if (i%7==0)
o+="Bar"end
if (o=="")
o=i.to_s end
puts o
end


#python3 達人の別解
for x in range(1,int(input())+1):s="";s+=("","Foo")[x%5==0];s+=("","Bar")[x%7==0];print((x,s)[s!=""])



#単語の並び順を反転
s=gets.chomp
a=s.split(" ")
a.reverse!
puts a.join(" ")



#a〜bまでの中でルートが整数になる数値の数は
@a = gets.to_i
@b = gets.to_i
@c=0
for i in @a..@b do
    if i ** 0.5==(i ** 0.5).to_i
        @c=@c+1
    end
end
puts @c







最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。