蒙特卡洛求π

Eleanor ·
更新时间:2024-09-21
· 772 次阅读

package com.Last import org.apache.spark.{SparkConf, SparkContext} /** * TODO * * @author 徐磊 * @email wc199608203213@136.com * @data2020/02/16 下午 02:34 * @最终需求效果: 先定义两个数然后把数装进sc然后再进行计算 */ object Mtklqp extends App { val conf = new SparkConf() .setAppName("c") .setMaster("local[2]") //要是打Jar包后期放到spark集群上运行就需要把这个master注释了 val sc = new SparkContext(conf) val s =100 val count=s*1000 val n = sc.parallelize(seq=1 to count,s).map(it=>{ def m=java.lang.Math.random() val x = 2*m-1 //x和y的范围都是-1到1 val y = 2*m-1 if(x*x+y*y<1)1 else 0 //x的平方+y的平方小于1才表示始终在圆里面 }).reduce(_+_) println(4.0*n/count) //4后面没有0的话结果是整数 }
作者:徐磊的博客



蒙特卡洛

需要 登录 后方可回复, 如果你还没有账号请 注册新账号