« Project Euler - Problem 62 | トップページ | Project Euler ... 一休み? »

2009年9月29日 (火)

source-highlight

昨日、"source-highlight" というコマンドプログラムがあるのを知りました。

早速、私のパソコン (Ubuntu) にもインストールしてみました。

"Ruby" のコードは問題なく読み込まれて、"htlm" の形で出力されました。結果は以下のとおりです。

# -*- coding: utf-8 -*-
require 'math_tool'
 
class Array
  # 配列の中から同じ要素を n 個持つグループを見つける。
  def check(n)
    return false if self.size < n
    arr = self.map{|a| [a, a.to_a.sort.to_i]}.sort_by{|a| a[1]}
    while arr.size > n
      part = arr.take_while{|a| arr[0][1] == a[1]}
      return part.map{|a| a[0]}.sort if part.size == n
      len = part.size
      arr = arr.drop(len)
    end
    return false
  end
end
 
d = 10
arr = Array.new
1.upto(1/0.0) do |i|
  num = i ** 3
  # 同じ桁の数を arr に集めていく
  if num < d
    arr.push(num)
    next
  end
  ans = arr.check(5)
  if ans
    puts ans[0]
    break
  end
  d = d * 10
  arr = [num]
end

"htlm" のソースコードはやたら長くなりますが、色がついて、ちょっとは見やすくなったかな?

« Project Euler - Problem 62 | トップページ | Project Euler ... 一休み? »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/112020/46342696

この記事へのトラックバック一覧です: source-highlight:

« Project Euler - Problem 62 | トップページ | Project Euler ... 一休み? »

2016年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
フォト

最近のトラックバック

無料ブログはココログ