タグ

mathとJavaに関するtodogzmのブックマーク (3)

  • 統計的に正しいランキングを行う方法をJavaで書く - バイオインフォマティクスって何ですか?

    Java | 統計的に正しいランキングを行う方法を見たのでちょっとJavaで書いてみる。はじめになにがしたいかというと、「レイティング」というのをご存じでしょうか。Amazonとかで商品を購入者が星つけて評価したりしてるやつ。ああいうので「良かったランキング」というのを作りたい。みんなが「購入して良かった」という評価をつけてる商品は、他の人にとっても「良かった商品」になる可能性が高い。いい商品だということがわかるわけです。問題点じゃあどういうふうにランキングをつければいいの?ということを考えると、次の問題にぶちあたる。評価してる人の数の違い。例えば、Aという商品は100人が評価していて、平均の星の数は 4.8 だとする。一方、Bの商品は1人が星5つで評価していたとする。このとき、Aの商品とBの商品ではどちらをランキング上位にすればいいだろうか?あなたならどちらを買いたい?Aはたくさんの人が

  • 頭の体操 - cactusman日誌

    算数にチャレンジ!! 第624回問題(11月27日〜 12月 3日) 1〜512の数の書かれたカードが1枚ずつ、左から小さい順に、「1,2,3,4,・・・,511,512」と並んでいます。いま、次のような作業を行うことにします。 ア. 前から奇数番目のカードをすべて取り除く イ. 前から偶数番目のカードをすべて取り除く まず、この作業を、ア→イ→ア→イ→・・・の順に、カードが残り1枚になるまで繰り返して行うことにします。 このとき、最後に残るカードに書かれた数字を答えてください。 上の問題を見つけて、頭の体操がてらにjavaでやってみました。 import java.util.ArrayList; public class Q624 { public static void main(String args[]) { ArrayList<Integer> cards = new Array

    頭の体操 - cactusman日誌
    todogzm
    todogzm 2008/12/03
    cards.remove(k)に伴う副作用を利用した実装。素直な実装かな?と一瞬オモタ。でもそれよりも、計算機なしでどうやってこの問題を解くのかが気になった次第。
  • さらに円周率を求めてみる - きしだのHatena

    こないだ、積分の練習に円周率を求めてみたんだけど、もうちょっとちゃんと円周率を求めてみる とりあえず、モンテカルロでってことなので、やってみる。 円周率をモンテカルロで求めるときには、ランダムに選んだ点が円に入るかどうかで判定します。 つまりランダムにx、yを選んで を満たす割合を求めます。 public class PaiMontecarlo { public static void main(String[] args){ Random r = new MTRandom(); int in = 0; int total = 100000; for(int i = 0; i < total; ++i){ double x = r.nextDouble(); double y = r.nextDouble(); if(x * x + y * y < 1) ++in; } System.ou

  • 1