2022年蓝桥杯省赛——星期计算

news2024/11/23 13:01:06

目录

题目链接:1.星期计算 - 蓝桥云课 (lanqiao.cn)

题目描述

思路

代码实现

BigInteger常用方法

BigDecimal常用方法

 

总结


题目链接:1.星期计算 - 蓝桥云课 (lanqiao.cn)

题目描述

        一直今天是星期六,请问 20^{22} 天后是星期几。

        注意用数字1到7表示星期一到星期日。


思路

        问的是20^{22}天后是星期几。呃,其实这道题真的就是一道非常非常纯粹的数学题目,因为即使你不会写代码,要是狠狠的算一波还是能算出来的没有一点毛病。

        很简单,直接梭哈了我。

  1. 通过new BigInteger("20")创建了一个BigInteger的实例bigInteger20,它的数值是20。

  2. bigInteger20.pow(22)对bigInteger20进行了22次幂计算,并将结果赋值给binInteger2022。也就是求20的22次方。

  3. 通过new BigInteger("7")创建了一个实例bigInteger7,数值为7。

  4. binInteger2.mod(bigInteger7)计算了binInteger2022除以7的余数,并将结果赋值给res。也就是求20的22次方除以7的余数。

  5. res.intValue()将BigInteger类型的res转换为对应的int类型数值,并赋值给b。

  6. System.out.println((b + 6 <= 7) ? (b + 6) : (b + 6 - 7));中,?(三目运算符)过后的两个表达式功能是,如果b加6小于等于7,就输出b+6,否则输出b+6-7。也就是说,如果b+6超过了7,就取模7,否则就直接输出b+6。

代码实现

import java.math.BigInteger;

public class Main {

    public static void main(String[] args) {

        BigInteger bigInteger20 = new BigInteger("20");

        BigInteger binInteger2022 = bigInteger20.pow(22);

        BigInteger bigInteger7 = new BigInteger("7");

        BigInteger res = binInteger2.mod(bigInteger7);

        Integer b = res.intValue();

        System.out.println((b + 6 <= 7) ? (b + 6) : (b + 6 - 7));
    }

}

BigInteger常用方法

  1. add(BigInteger val): 返回用这个大整数和val之的一个BigInteger。

  2. subtract(BigInteger val): 返回用这个大整数和val之的一个BigInteger。

  3. multiply(BigInteger val): 返回用这个大整数和val之乘积的一个BigInteger。

  4. divide(BigInteger val): 返回用这个大整数和val之的一个BigInteger。

  5. mod(BigInteger val): 返回用这个大整数除以val的余数的一个BigInteger。

  6. pow(int exponent): 返回这个大整数的exponent次方的BigInteger。

  7. gcd(BigInteger val): 返回this和val的最大公约数的BigInteger。

  8. abs(): 返回相应的数值的绝对值的一个BigInteger。

  9. negate(): 返回相应数值的负数的一个BigInteger。

  10. intValue(): 将此BigInteger转换为int。

  11. longValue(): 将此BigInteger转换为long。

  12. floatValue(): 将此BigInteger转换为float。

  13. doubleValue(): 将此BigInteger转换为double。


BigDecimal常用方法

  1. add(BigDecimal augend): 返回一个其值为 (this + augend)加 的 BigDecimal。

  2. subtract(BigDecimal subtrahend): 返回一个其值为 (this - subtrahend)减 的 BigDecimal。

  3. multiply(BigDecimal multiplicand): 返回一个其值为 (this × multiplicand)乘 的 BigDecimal。

  4. divide(BigDecimal divisor): 返回一个其值为 (this / divisor)除的 BigDecimal,后者的尺度为: (this.scale() - divisor.scale()),如果无法得到精确的商(即,因为它有一个无限十进制扩展),则抛出 ArithmeticException。

  5. setScale(int newScale, RoundingMode roundingMode): 返回一个 BigDecimal ,其数值等于此 BigDecimal 的数值,尺度按需调整以保持此 BigDecimal 的小数点右侧的位数和新尺度相等。此调整由 roundingMode 参数实施。

    		BigDecimal bDecimal = new BigDecimal("520.13141617");
    		// 直接去掉小数点第七位之后的位数
    		System.out.println(bDecimal.setScale(7, RoundingMode.DOWN).doubleValue());

    得到答案:520.1314161

  6. compareTo(BigDecimal val): 将此 BigDecimal 与指定的 BigDecimal 比较两个 BigDecimal 在数值上的大小。

  7. equals(Object x): 将此 BigDecimal 与指定的 Object 比较。当且仅当指定的 Object 是一个 BigDecimal 的数字对象,其尺度和精度上的4个值是等的时,返回 true 。

  8. intValue(): 将此 BigDecimal 转换成int

  9. longValue(): 将此 BigDecimal 转换成long

  10. doubleValue(): 将此 BigDecimal 转换成double

  11. floatValue(): 将此 BigDecimal 转换成float

 


总结

        直接结束,我只能说今晚的蓝桥云课并不太平。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第四百五十六回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 使用方法 3. 内容总结 我们在上一章回中介绍了"overlay_tooltip用法"相关的内容&#xff0c;本章回中将介绍onBoarding包.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的onBo…

AI大模型创新交汇点:当AI遇见艺术

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

HarmonyOS实战开发-图片编辑、使用 TextArea 实现多文本输入

介绍 本示例使用 TextArea 实现多文本输入&#xff0c;使用 ohos.app.ability.common 依赖系统的图库引用&#xff0c;实现在相册中获取图片&#xff0c;使用 ohos.multimedia.image 生成pixelMap&#xff0c;使用pixelMap的scale()&#xff0c;crop()&#xff0c;rotate()接口…

LinkedHashMap 是如何保证返回的顺序性的?

LinkedHashMap 源码阅读 public class LinkedHashMap<K,V>extends HashMap<K,V>implements Map<K,V>先来看一下 LinkedHashMap 的继承关系&#xff0c;它继承了 HashMap&#xff0c;并且实现了 Map 接口。 LinkedHashMap 底层是 数组 链表 的形式&#xf…

HarmonyOS实战案例:【分布式账本】

简介 Demo基于Open Harmony系统使用ETS语言进行编写&#xff0c;本Demo主要通过设备认证、分布式拉起、分布式数据管理等功能来实现。 应用效果 设备认证,获取同一个局域网内的设备ID&#xff0c;并拉起应用 添加数据并在另一台设备显示该数据 开发步骤 开发文档&#xff…

记账本|基于SSM的家庭记账本小程序设计与实现(源码+数据库+文档)

家庭记账本小程序目录 基于SSM的家庭记账本小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、小程序端&#xff1a; 2、后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大…

继承【C/C++复习版】

目录 一、什么是继承&#xff1f;怎么定义继承&#xff1f; 二、继承关系和访问限定符&#xff1f; 三、基类和派生类对象可以赋值转换吗&#xff1f; 四、什么是隐藏&#xff1f;隐藏vs重载&#xff1f; 五、派生类的默认成员函数&#xff1f; 1&#xff09;派生类构造函…

JVM基础:类的生命周期详解

JDK版本&#xff1a;jdk8 IDEA版本&#xff1a;IntelliJ IDEA 2022.1.3 文章目录 一. 生命周期概述二. 加载阶段(Loading)2.1 加载步骤2.2 查看内存中的对象 三. 连接阶段(Linking)3.1 连接之验证3.2 连接之准备3.3 连接阶段之解析 四. 初始化阶段(Initialization)4.1 单个类的…

vivado 使用基本触发器模式

使用基本触发器模式 基本触发器模式用于描述触发条件 &#xff0c; 即由参与其中的调试探针比较器组成的全局布尔公式。当“触发器模式 (Trigger Mode) ”设置为 BASIC_ONLY 或 BASIC_OR_TRIG_IN 时 &#xff0c; 即启用基本触发器模式。使用“基本触发器设置 (Basic Trig…

软件测试级别和对应要求

软件测试级别指的是将软件测试活动按照不同的开发阶段和测试目的进行分类&#xff0c;形成不同层次的测试过程。 分级依据&#xff0c;根据V模型 单元测试&#xff1a;这是软件生命周期中的第一个测试级别&#xff0c;主要针对软件的最小单元模块进行&#xff0c;例如类、函数…

二叉树学习

树 树是n个结点的有限集合&#xff0c;当n0时为空树&#xff0c;在任意一颗非空的树中&#xff0c;有且只有一个特定的称为根的结点&#xff0c;当n>1时&#xff0c;其余结点又可以分为m个不相交的有限集&#xff0c;其中每一个集合又是一棵树&#xff0c;并且称为根的子树…

opencv 多线程读取和显示摄像头【python源码】

在Python中&#xff0c;使用OpenCV库实现多线程读取和显示摄像头通常涉及创建多个线程&#xff0c;每个线程负责从摄像头捕获视频帧并显示它们。但是&#xff0c;请注意&#xff0c;OpenCV本身并不直接支持多线程显示&#xff0c;因为cv2.imshow通常是在主线程中运行的。然而&a…

imu6xl点灯(C语言)

参考正点原子开发指南 根据原理图可以看出&#xff0c;我们需要设置低电平导通电路。 在原理图上找到LED0&#xff0c;对应IO为GPIO3 IO复用配置 IMX6UL每个引脚都可以复用 在用户手册第30章可以找到IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO03这个寄存器&#xff0c;地址为0x020E0068&…

JavaScript函数式编程

函数式编程 课程介绍 为什么要学习函数编程以及什么是函数式编程函数式编程的特性(纯函数、柯里化、函数组合等)函数式编程的应用场景函数式编程库Lodash 为什么要学习函数式编程 函数式编程是非常古老的一个概念&#xff0c;早于第一台计算机的诞生&#xff0c; 函数式编程…

gpt系列概述——从gpt1到chatgpt

GPT建模实战&#xff1a;GPT建模与预测实战-CSDN博客 OpenAI的GPT&#xff08;Generative Pre-trained Transformer&#xff09;系列模型是自然语言处理领域的重要里程碑。从2018年至2020年&#xff0c;该公司相继推出了GPT-1、GPT-2和GPT-3&#xff0c;这些模型在文本生…

是时候将 DevOps 可见性扩展到网络边缘了

尽管部署前运行了大量测试&#xff0c;但在部署应用程序后&#xff0c;性能问题经常让 DevOps 团队感到困惑。经过进一步调查&#xff0c;最常被忽视的问题是应用程序本身的分布式特性。从多个位置访问应用程序的最终用户永远不会拥有相同水平的互联网服务&#xff0c;因此在纽…

python使用ffmpeg分割视频为Hls分片文件/使用OpenSSL加密m3u8和TS文件

FFmpeg和OpenSSL是一个开源免费的软件&#xff0c;在官网上就能下载&#xff0c; FFmpage网址&#xff08;建议选择文件名full结尾的文件&#xff09;&#xff1a;Builds - CODEX FFMPEG gyan.dev OpenSSL网址&#xff08;建议选择win64的MSI文件&#xff09;&#xff1a;Win3…

OpenAI现已普遍提供带有视觉应用程序接口的GPT-4 Turbo

OpenAI宣布&#xff0c;其功能强大的GPT-4 Turbo with Vision模型现已通过公司的API全面推出&#xff0c;为企业和开发人员将高级语言和视觉功能集成到其应用程序中开辟了新的机会。 PS&#xff1a;使用Wildcard享受不受网络限制的API调用&#xff0c;详情查看教程 继去年 9 月…

LinkedHashMap部分底层源码解析

JDK版本为1.8.0_271&#xff0c;LinkedHashMap继承了HashMap&#xff0c;LinkedHashMap在HashMap的基础上维护了一个双向链表&#xff0c;实现了可以根据插入顺序/访问顺序&#xff08;accessOrderfalse/true&#xff09;访问Map集合。 关于HashMap的原理可以参考HashMap部分底…

IOPaint部署,实现去水印效果

下载源代码 https://github.com/Sanster/IOPaint https://github.com/advimman/lama 创建虚拟环境 conda create --prefixD:\CondaEnvs\iopaint python3.10 conda activate D:\CondaEnvs\iopaint安装依赖包 pytorch最低2.0.0 # 查看cuda版本安装对应的pytorch nvcc -V # …