備忘録的なblog
ラベル
groovy
の投稿を表示しています。
すべての投稿を表示
ラベル
groovy
の投稿を表示しています。
すべての投稿を表示
2012年9月22日土曜日
GroovyのInheritConstructorsアノテーション
›
クラスにInheritConstructorsアノテーションを付加すると、親クラスが実装しているコンストラクタをコンパイル時に追加してくれます。 例 Fugaは、引数を2つうけるコンストラクタを持っていないが「InheritConstructors」を設定しているので、親クラ...
GroovyのEqualsAndHashCodeアノテーション
›
equalsとhashCodeを生成してくれるアノテーション 例 EqualsAndHashCodeを付加してクラスを宣言します。 import groovy.transform.EqualsAndHashCode @EqualsAndHashCode class Pe...
2012年9月16日日曜日
GroovyのTupleConstructorアノテーション
›
TupleConstructorを付加すると、属性(フィールド)値を引数に取るコンストラクタが追加されます。 コンストラクタの引数の順番は、フィールドの宣言の順番となります。 例 TupleConstructorを付加してクラスを宣言します。 import groovy....
2012年9月14日金曜日
GroovyのToStringアノテーション
›
クラスに「ToString」アノテーションを付加すると、コンパイル時にtoStringメソッドが生成されます。 デフォルトでは、すべてのフィールドがtoStringメソッドで文字列変換されますが、アノテーションの属性を設定することで除外設定などもできます。
2012年7月22日日曜日
Project Euler-Problem22をgroovyで解いてみる
›
問題 http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%2022 問題を解いたプログラム 1行にすべての値が書かれているとは思わなかった・・・ def alphaRange = ...
2012年7月21日土曜日
Project Euler-Problem21をgroovyで解いてみる
›
問題 d(n)をnの真の約数の和と定義する。(真の約数とはn以外の約数のことである。) もし、d(a) = b かつ d(b) = a (a ≠ b)を満たすとき、aとbは友愛数(親和数)であるという。 例えば、220の約数は1, 2, 4, 5, 10, 11, 20, 22...
2012年7月16日月曜日
Project Euler-Problem19をgroovyで解いてみる
›
問題 次の情報が与えられている。 1900年1月1日は月曜日である。 9月、4月、6月、11月は30日まであり、2月を除く他の月は31日まである。 2月は28日まであるが、うるう年のときは29日である。 うるう年は西暦が4で割り切れる年に起こる。しかし、西暦が400で割り切れず...
Project Euler-Problem20をgroovyで解いてみる
›
問題 n × (n - 1) × ... × 3 × 2 × 1 を n! と表す。 100! の各桁の数字の合計を求めよ。。 問題を解いたプログラム Problem16 と同じような構造です。 def ret = (new BigInteger(100)..new BigI...
2012年7月14日土曜日
Project Euler-Problem16をgroovyで解いてみる
›
問題 15 = 32768 であり、これの各数字の合計は 3 + 2 + 7 + 6 + 8 = 26 となる。 同様にして、21000 の各数字の合計を求めよ。 問題を解いたプログラム クロージャがあるから簡単にかけてますが、JavaのAPIを使っているだけです。 i...
2012年6月24日日曜日
Project Euler-Problem14をgroovyで解いてみる
›
問題 正の整数に以下の式で繰り返し生成する数列を定義する。 n → n/2 (n が偶数) n → 3n + 1 (n が奇数) 13からはじめるとこの数列は以下のようになる。 13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 13から...
2012年6月17日日曜日
Project Euler-Problem13をgroovyで解いてみる
›
問題 以下の50桁の数字100個の総和の上位10桁を求めよ。 37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 743249...
2012年6月9日土曜日
Project Euler-Problem12をgroovyで解いてみる
›
問題 三角数の数列は自然数の和で表わされ、7番目の三角数は 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 である。 三角数の最初の10項は 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ... となる。 最初の7項について、その約数...
2012年5月29日火曜日
Project Euler-Problem11をgroovyで解いてみる
›
問題 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79...
2012年5月27日日曜日
Project Euler-Problem10をgroovyで解いてみる
›
問題 10以下の素数の和は2 + 3 + 5 + 7 = 17である. 200万以下の全ての素数の和を計算しなさい. 問題を解いたプログラム 処理時間はものすごくかかります。(3分弱かな) import common.Prime def prime = new Prim...
2012年5月13日日曜日
Project Euler-Problem9をgroovyで解いてみる
›
問題 ピタゴラスの三つ組(ピタゴラスの定理を満たす自然数)とはa<b<cで a² + b² = c² を満たす数の組である. 例えば, 3² + 4² = 9 + 16 = 25 = 5²である. a + b + c = 1000となるピタゴラスの三つ組が一つだけ...
[Groovy]booleanを返す式
›
Javaと比べて、オブジェクトの状態チェック(nullや空かなど)が簡単にできる。 //****************************************************************************** // 文字列 //******...
2012年5月12日土曜日
Project Euler-Problem8をgroovyで解いてみる
›
問題 以下の1000桁の数字から5つの連続する数字を取り出して その積を計算する。そのような積の中で最大のものの値はいくらか 73167176531330624919225119674426574742355349194934 9698352031277450632623957...
2012年5月5日土曜日
Project Euler-Problem7をgroovyで解いてみる
›
問題 素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり、6番目の素数は 13 である。 10001 番目の素数を求めよ。 問題を解いたプログラム なんのひねりもないコードですが・・・ def primes = [] def num = 2; ...
2012年5月4日金曜日
Groovyでカリー化
›
クロージャのcurryメソッドを使うとカリー化ができる。 def sum = {n1, n2 -> n1 + n2} def curry = sum.curry(100) // 最初のパラメータを100で固定してカリー化 println curry(100) // 2...
Project Euler-Problem6をgroovyで解いてみる
›
問題 最初の10個の自然数について、その和の二乗と、二乗数の和は以下の通り。 1² + 2² + ... + 10² = 385 (1 + 2 + ... + 10)² = 3025 これらの数の差は 3025 - 385 = 2640 となる。 同様にして、最初の1...
›
ホーム
ウェブ バージョンを表示