C#,C#の宿題片付けます。
■ このスレッドは過去ログ倉庫に格納されています
0437デフォルトの名無しさん
2009/06/25(木) 23:03:03class Program2 {
static void Main(string[] args) {
var sw = new Stopwatch();
sw.Start();
double pi = CalculatePI(1000000);
sw.Stop();
Console.WriteLine(" expected: {0}", Math.PI);
Console.WriteLine(" actual: {0}", pi);
Console.WriteLine(" error rate: {0}", (pi - Math.PI) / Math.PI);
Console.WriteLine("elapsed time: {0}", sw.Elapsed);
}
private static double CalculatePI(int trialCount) {
int count = RandomPoints().Take(trialCount).Count(pt => (SqareSum(pt) < 1));
return 4.0 * count / trialCount;
}
private static IEnumerable<double[]> RandomPoints() {
var r = new Random();
while(true) yield return new[] { r.NextDouble(), r.NextDouble() };
}
private static double SqareSum(params double[] values) {
return values.Sum(x => Math.Pow(x, 2));
}
}
■ このスレッドは過去ログ倉庫に格納されています