高级大数据技术 实验一 scala编程

高级大数据技术 实验一 scala编程

写的不是很好,大家多见谅!

1. 计算水仙花数

实验目标;

(1) 掌握scala的数组,列表,映射的定义与使用

(2) 掌握scala的基本编程

实验说明

水仙花数是指其个位、十位、百位三个数的立方和等于这个数本身,用Scala编程求出所有水仙花数。

概况描述 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

定义 水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。

问题分析 根据“水仙花数”的定义,判断一个数是否为“水仙花数”,最重要的是要把给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为s),若s与给出的三位数相等, 三位数为“水仙花数”,反之,则不是。

附:其他位数的自幂数名字 一位自幂数:独身数 三位自幂数:水仙花数 四位自幂数:四叶玫瑰数 五位自幂数:五角星数 六位自幂数:六合数 七位自幂数:北斗七星数 八位自幂数:八仙数 九位自幂数:九九重阳数 十位自幂数:十全十美数

代码实现 水仙花数是指其个位、十位、百位3个数的立方和等于这个数本身,请用Scala编程求出100~999之间的所有水仙花数。

object shuixainhua {def main(args: Array[String]): Unit = {
    for (num <- 100 to 999) {
      val a = num / 100
      val b = num % 100 / 10
      val c = num % 100 % 10
      if (a * a * a + b * b * b + c * c * c == num) {
        println(num)
      }
    }
  }
}
shuixainhua.main(Array())

在这里插入图片描述

  1. 使用scala编写函数过滤文本中的回文单词
    实验目标;

(3) 掌握scala的数组,列表,映射的定义与使用

(4) 掌握scala的for循环与if判断的使用

(5) 掌握scala的函数式编程

实验说明:

回文是指正向和逆向读起来相同的词,英语中也存在着回文现象,如“mom”和“dad”。

参照给出的英文文档word.txt,使用scala编程读取文件,并且编写一个函数判断文档中的每个单词是否为回文单词,若是则输出该单词。

实现思路及步骤:

(1)读取word.txt数据,将数据

(2)使用flatMap()方法获取缓存区里面的数据,并使用空格进行分割。

(3)定义函数isPalindrom(word:String)

(4) 在函数中判断单词正向与逆向是否一样,若是则输出该单词

(5)调用isPalindrom 函数

第一种:
import scala.io.Source
def isPalindrome(word: String): Boolean = {
  word.reverse == word
}
val lines = Source.fromFile("word.txt").getLines
val words = lines.flatMap(line => line.split(" "))
words.filter(word => isPalindrome(word)).foreach(println)

在这里插入图片描述

第二种:
import scala.io.Source
object PalindromeFilter {
  def main(args: Array[String]): Unit = {
    val filePath = "word.txt" // 更改为实际的文本文件路径
    // 读取文本文件数据
    val words = Source.fromFile(filePath).getLines().flatMap(_.split(" "))
    // 过滤回文单词并输出
    words.filter(isPalindrome).foreach(println)
  }
  // 判断单词是否为回文
  def isPalindrome(word: String): Boolean = {
    word == word.reverse
  }
}
PalindromeFilter.main(Array())

在这里插入图片描述

  1. 使用scala编程输出九九乘法表:
    实验目标:

(1) 掌握scala循环的使用

(2) 掌握scala函数式编程

实验说明:

九九乘法表是我国古代人民的智慧结晶,在春秋战国时代就已经在筹算中运算,到明代则改良病用在算盘上。现需要使用scala编程输出九九乘法表,要求输出效果如图所示:

\3. 使用scala编程输出九九乘法表:

实验目标:

(1) 掌握scala循环的使用

(2) 掌握scala函数式编程

实验说明:

九九乘法表是我国古代人民的智慧结晶,在春秋战国时代就已经在筹算中运算,到明代则改良病用在算盘上。现需要使用scala编程输出九九乘法表。

object MultiplicationTable {
  def main(args: Array[String]): Unit = {
    for (i <- 1 to 9) {
      for (j <- 1 to i) {
        print(s"$j x $i = ${i*j}\t")
      }
      println()
    }
  }
}
MultiplicationTable.main(Array())

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/429459.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【系统需求分析报告-项目案例直接套用】

软件需求分析报告 软件开发要求项目建设内容物理设计安全系统设计安全网络安全设计应用安全设计用户安全管理性能设计稳定性设计安全性设计兼容性设计易操作性设计可维护行设计 软件开发全套精华资料过去进主页领取。

博弈论实用原理浅谈及题目实战【算法竞赛】

一、前言 本篇记录博弈论一些常见原理、做题技巧。 之前没有了解学习过博弈论&#xff0c;这篇文章可以当作记录学习笔记了。 二、初识博弈论 博弈论题目在竞赛中我感觉其实并不少见&#xff0c;只是需要技巧性很强&#xff0c;找到规律打代码很简单&#xff0c;而找不到基本上…

go语言基础 -- 面向对象 -- 接口与多态

接口定义与基本使用 - interface go语言中&#xff0c;接口类型可以定义一组方法&#xff0c;不需要在接口定义中实现方法&#xff0c;并且interface中不能含有变量&#xff0c;如果某个自定义类型要使用时再实现接口的方法。 golang中的接口不需要显式地实现&#xff0c;只要…

秘密共享差分隐私原理解析

1. 隐私计算全貌 &#xfffc;&#xfffc; 可以看到&#xff0c;隐私计算技术从1979年就开始了&#xff0c;历经四代从安全多方计算(MPC)、到差分隐私(DP)、到集中加密技术(TEE)&#xff0c;再到联邦学习(FL)。 2. 秘密共享 secret Sharing 就是“秘密分享”或者“秘密共享”…

“互动+消费”时代,借助华为云GaussDB重构新零售中消费逻辑

场与人的关系 “人—货—场”是零售中重要的三要素&#xff0c;我们一直在追求&#xff0c;将零售中的人、货、场进行数字化并在云端进行整合&#xff0c;形成属于我们自己的云平台。 随着互联网技术为信息提供的便利&#xff0c;消费者的集体力量正在逐渐形成一股强大的反向…

Applied Energy+C论文复现:考虑泊位分配灵活性的港口综合能源系统优化调度程序代码!

程序结合了港口独特的工作属性&#xff0c;构建了泊位优化分配的模型&#xff0c;提出了考虑泊位优化和多能协同的港口综合能源运行优化模型。港口运营商根据多种能源供应的成本特性决策船舶停泊的开始&#xff0f;结束时间&#xff0c;改变港口的总负荷需求曲线。程序算例丰富…

使用postman测试若依登录接口API-2

请求方式 由于登录控制器可知&#xff1a;该请求方式为Post请求 请求地址 在请求路径栏输入请求地址&#xff0c;如下图所示&#xff1a; 参数体 在Body键入所需参数&#xff0c;类型选择raw,数据格式选择"JSON"&#xff1a;如下图所示&#xff1a; 认证成功与失败…

特征值和特征向量及其在机器学习中的应用

特征值和特征向量是线性代数中的概念&#xff0c;用于分析和理解线性变换&#xff0c;特别是由方阵表示的线性变换。它们被用于许多不同的数学领域&#xff0c;包括机器学习和人工智能。 在机器学习中&#xff0c;特征值和特征向量用于表示数据、对数据执行操作以及训练机器学…

NOIP 2009普及组初赛试题及解析

NOIP 2009普及组初赛试题及解析 一. 单项选择题 &#xff08;共20题&#xff0c;每题1.5分&#xff0c;共计30分。每题有且仅有一个正确答案.&#xff09;。二. 问题求解&#xff08;共2题&#xff0c;每题5分&#xff0c;共计10分&#xff09;三. 阅读程序写结果&#xff08;共…

Vue.js 深度解析:模板编译原理与过程

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

网络学习:SMart link技术与Monitor link技术

目录 一、SMart link技术 1.1、SMart link技术简介 1.2、SMart link技术原理及基础知识点 1、应用场景&#xff08;举例&#xff09;&#xff1a; 2、运行机制 3、保护vlan 4、控制VLAN 5、Flush报文 6、SMart link的负载分担机制 7、SMart link角色抢占模式 二、Mo…

YOLOv5目标检测学习(1):yolo系列算法的基础概念

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、基于深度学习的目标检测需要哪些步骤&#xff1f;二、数据准备&#xff08;即准备数据集&#xff09;1.目标检测的数据集如何获取&#xff1f;2.数据集包括…

Python报错ModuleNotFoundError: No module named ‘numpy‘

原因&#xff1a;缺少“numpy” 进入python安装路径&#xff0c;script路径内 在路径下启动终端 01.更新numpy python -m pip install --upgrade pip 02.安装 pip install numpy 03.运行python python 04.导入包 from numpy import * 问题已解决。

MySQL学习Day25——数据库其他调优策略

一、数据库调优的措施: 1.调优的目标: (1)尽可能节省系统资源&#xff0c;以便系统可以提供更大负荷的服务 (2)合理的结构设计和参数调整&#xff0c;以提高用户操作的响应速度 (3)减少系统的瓶颈&#xff0c;提高MySQL数据库整体的性能; 2.如何定位调优:用户的反馈、日志…

政安晨【TypeScript高级用法】(二):泛型与命名空间

TypeScript的泛型允许我们在定义函数、类和接口时使用参数化类型&#xff0c;使得这些实体可以适应不同类型的数据。泛型可以增加代码的重用性和灵活性。 同时&#xff0c;TypeScript的命名空间提供了一种在全局命名空间中组织代码的方式&#xff0c;可以避免全局变量污染和命…

项目打包时报错 There are test failures.

报错原因是 test测试类有问题 我们可直接选择跳过测试类打包 如下 此时再次打包就成功了

高级软件开发知识点

流程 算法题简历上项目用到技术、流程、遇到问题HR 准备 常考的题型和回答思路刷100算法题&#xff0c;理解其思想&#xff0c;不要死记最近一家公司所负责的业务和项目&#xff1a; 项目背景、演进之路&#xff0c;有哪个阶段&#xff0c;每个阶段主要做什么项目中技术选型…

vue2和vue3的区别介绍

Vue.js 是一个流行的前端JavaScript框架&#xff0c;用于构建用户界面和单页应用程序。自从Vue.js首次发布以来&#xff0c;它就因其简洁的API、灵活的架构和易于上手的特点而受到了广泛的欢迎。Vue.js的第二个主要版本&#xff08;Vue 2&#xff09;发布于2016年&#xff0c;而…

AutoGPT实现原理

AutoGPT是一种利用GPT-4模型的自动化任务处理系统&#xff0c;其主要特点包括任务分配、多模型协作、互联网访问和文件读写能力以及上下文联动记忆性。其核心思想是通过零样本学习&#xff08;Zero Shot Learning&#xff09;让GPT-4理解人类设定的角色和目标&#xff0c;并通过…

正则表达式在QT开发中的应用

一.正则表达式在QT开发中的使用&#xff1a; 1.模式匹配与验证&#xff1a;正则表达式最基本的作用就是进行模式匹配&#xff0c;它可以用来查找、识别或验证一个字符串是否符合某个特定的模式。例如&#xff0c;在表单验证中&#xff0c;可以使用正则表达式来检查用户输入的邮…
最新文章