scala实现彩票算法

scala实现彩票算法

(1)具体实现代码如下:

package hw1

import scala.util.control._

/**
 * @author BIGDATA
 */
object Cp {
  var input=new Array[Int](7)
  var cp=new Array[Int](7)
  var level=0
  def main(args:Array[String]):Unit={
     //var num=readInt
    buy()
    printUsr();
    kaijiang();
    printzhongJ();
    duijiang();
    fajiang();
   }
  def buy():Unit={
    println("请输入1-35之间的七个整数:")
    var i=0
    while(i<7) 
    {
        input(i)=readInt 
        if(input(i)>=1 && input(i)<=35)
        {
          val loop = new Breaks
          loop.breakable {
            for(j<- 0 to i-1)
            {
              if(input(i)==input(j)) 
              {
                println("输入重复,请重新输入:")
                i-=1
                loop.break()
              }
            }
          }
          i+=1
        }
        else 
          {
            println("输入数据越界,请重新输入:")
            i-=1
          } 
       }
  }
  def printUsr():Unit={
    println("用户所买的号码是:")
    for(i<- 0 to 6) print(input(i)+" ")
    println()
  } 
  
  def kaijiang():Unit={ 
    var i=0
    while(i<7)
    {
      cp(i)=(math.random*35+1).toInt
      val loop = new Breaks
      loop.breakable {
        for (j <- 0 to i-1)
        {
          if (cp(i)==cp(j))
          {
            i-=1
            loop.break()
          }     
        }
      }
      i+=1 
    }
  }
  
  def  printzhongJ():Unit={
   println("系统中将号码为:")
   for(i<- 0 to 6) print(cp(i)+" ")
   println()
  }
  
  def duijiang():Unit={
    printf("用户中奖等级为:")
    for(i<- 0 to 6)
    {
      val loop1 = new Breaks
      loop1.breakable {
        for(j <- 0 to 6)
        {
          if(input(i)==cp(j))
          {
            level+=1
            loop1.break()
          }
        }
      }
    }
  }
 
  def fajiang():Unit={
    level match{
    case 7 => println("1等奖")
    case 6 => println("2等奖")
    case 5 => println("3等奖")
    case 4 => println("4等奖");
    case 3 => println("5等奖")
    case 2 => println("6等奖")
    case 1 => println("7等奖");
    case 0 => println("好遗憾,没有中奖!")     
    }
  }
  
}


(2)运行结果如下:

 

Scala 是一种功能强大的静态类型、面向对象和函数式编程语言,它非常适合在 Scala实现支持向量机(Support Vector Machine, SVM)算法。SVM 是一种常用的监督学习算法,尤其在分类和回归问题中表现出色,因为它能够找到最优超平面进行决策。 在 Scala实现 SVM,你可以使用开源库如 Smile(Scalable Machine Learning Library)或 Breeze(专为 Scala 设计的数值计算库),它们提供了现成的 SVM 实现和相关的工具。 以下是一个简单的步骤概述: 1. **引入库**:如果你还没安装,首先需要添加对应库到你的项目依赖中,例如在 SBT (Scala Build Tool) 项目中添加 Smile 或者 Breeze。 ```scala libraryDependencies += "com.github.haifengl" %% "smile-core" % "2.6.0" ``` 2. **数据预处理**:将数据集转换成适合 SVM 输入的格式,通常包括特征向量和对应的标签。 3. **模型创建**:使用 Smile 或 Breeze 的 SVM 类,如 `LinearSVC` 或 `SMO` 来创建模型。 ```scala import smile.classification._ import breeze.linalg.DenseVector val svm = LinearSVC() ``` 4. **训练模型**:使用数据集对模型进行训练。 ```scala val data = ... // 从文件或数据库读取的数据 val (inputs, labels) = data.map { case features, label => DenseVector(features), label }.unzip svm.train(inputs, labels) ``` 5. **预测和评估**:对新的数据点进行预测,并使用交叉验证等方法评估模型性能。 ```scala val testData = ... // 预测用的数据 val predictions = svm.predict(testData) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值