循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)rust解法
输入整数a和b(0≤a≤3000,1≤b≤3000),输出a/b的循环小数表示以及循环节长度。例如a=5,b=43,小数表示为0.(116279069767441860465),循环节长度为21。
解法
就是模拟竖式除法
use std::{collections::HashMap, io};fn main() {let mut buf = String::new();io::stdin().read_line(&mut buf).unwrap();let mut it = buf.split_whitespace();let a: u32 = it.next().unwrap().parse().unwrap();let b: u32 = it.next().unwrap().parse().unwrap();if a % b == 0 {println!("{}.(0) {}", a / b, 1);return;}let mut m = a % b;let n = b;let mut r = 0;let mut ans = String::from(".");let mut kv = HashMap::new(); //记录被除数在第几个次上商时出现过loop {m *= 10; //产生新被除数if kv.contains_key(&m) {//同一个被除数出现第二次let pos = kv.get(&m).unwrap();r = ans.len() - pos; // 循环节长度if r > 50 {ans = ans[0..pos + 50].to_string();ans.push_str("...")}ans.insert(*pos, '('); //在第一次出现此被除数的上商位置插入'('ans.push(')');break;} else {kv.insert(m, ans.len());ans.push_str((m / n).to_string().as_str()); //上商m = m % n;if m == 0 {//如果发现被除数为0,则直接在ans后加上(0)即可ans.push_str("(0)");r = 1;break;}}}println!("{}{} {}", a / b, ans, r);
}
相关文章:
循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)rust解法
输入整数a和b(0≤a≤3000,1≤b≤3000),输出a/b的循环小数表示以及循环节长度。例如a5,b43,小数表示为0.(116279069767441860465),循环节长度为21。 解法 就是模拟竖式除法 use std::{collecti…...
[GAMES101]透视投影变换矩阵中为什么需要改变z值
一、问题提出 在GAMES101-Lecture4 Transformation Matrices 一节中,闫老师介绍了正交投影和透视投影。 在讲透视投影变换矩阵 M p e r s p → o r t h o M_{persp→ortho} Mpersp→ortho时,同学们对矩阵中的z分量是变化的还是不变的有很多争论。即下…...
sklearn处理离散变量的问题——以决策树为例
最近做项目遇到的数据集中,有许多高维类别特征。catboost是可以直接指定categorical_columns的【直接进行ordered TS编码】,但是XGboost和随机森林甚至决策树都没有这个接口。但是在学习决策树的时候(无论是ID3、C4.5还是CART)&am…...
QT 数据库表格----QSqlTableModel
将数据库数据以表格的形式转化处理的方法很多,但我觉得QSqlTableModel这个model应算是非常好用的; msql.exec("create table alldata(照片,车牌号 "",入车时间,出车时间,金额,状态,看守人员);"); //创建表格 //msql 打开的数据库即Q…...
Vue_Bug Failed to fetch extension, trying 4 more times
Bug描述: 启动electron时出现Failed to fetch extension, trying 4 more times的问题 解决方法: 去src/background.js文件中进行代码注释工作 app.on(ready, async() > {// if (isDevelopment && !process.env.IS_TEST) {// // Install V…...
缩短从需求到上线的距离:集成多种工程实践的稳定框架 | 开源日报 No.55
zeromicro/go-zero Stars: 25.7k License: MIT go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。 go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成…...
基于秃鹰优化的BP神经网络(分类应用) - 附代码
基于秃鹰优化的BP神经网络(分类应用) - 附代码 文章目录 基于秃鹰优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.秃鹰优化BP神经网络3.1 BP神经网络参数设置3.2 秃鹰算法应用 4.测试结果:5.M…...
C++笔记之std::future的用法
C笔记之std::future的用法 code review! 文章目录 C笔记之std::future的用法1.C中std::future和std::async总是一起出现吗?2.主要特点和用法3.一个完整的例子4.std::future 存放的是一个结果吗?5.cppreference——std::future 1.C中std::future和std::a…...
openssl学习——消息认证码原理
消息认证码原理 消息认证码(Message Authentication Code, MAC)是一种技术,它的原理是通过对消息和密钥进行特定的处理,生成一个固定长度的数据,这个数据就是消息认证码(MAC)。这个过程可以看作…...
Netty使用SslHandler实现加密通信-单向认证篇
引入依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.100.Final</version> </dependency>生成keystore.jks文件 keytool -genkeypair -alias your_alias -keyalg RSA -keysto…...
Jetpack:007-Kotlin中的Button
文章目录 1. 概念介绍2. 使用方法2.1 Button2.2 IconButton2.3 ElevatedButton2.4 OutlinedButton2.5 TextButton2.6 FloatingActionButton 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中输入框相关的内容,本章回中将要介绍 Button。闲话休提࿰…...
opencv图形绘制2
目录 制作宣传语(中文) 制作宣传语(英文) 绘制标记 鼠标交互绘制十字线 鼠标交互绘制图形 鼠标交互制作几何画板 滚动条控制 鼠标事件练习 制作宣传语(中文) import cv2 import numpy as np from …...
“华为杯”研究生数学建模竞赛2019年-【华为杯】A题:无线智能传播模型(附优秀论文及Pyhton代码实现)(续)
目录 六、问题三的分析与建模 6.1 问题三的分析 6.2 问题三的建模 6.2.1 模型介绍...
爬虫 | 正则、Xpath、BeautifulSoup示例学习
文章目录 📚import requests📚import re📚from lxml import etree📚from bs4 import BeautifulSoup📚小结 契机是课程项目需要爬取一份数据,于是在CSDN搜了搜相关的教程。在博主【朦胧的雨梦】主页学到很多…...
nginx的location的优先级和匹配方式
nginx的location的优先级和匹配方式 在http模块中有server,server模块中有location,location匹配的是uri 在一个server中,会有多个location,如何来确定匹配哪个location niginx的正则表达式 ^ 字符串的起始位置 $ 字符串的…...
深入了解Spring Boot Actuator
文章目录 引言什么是ActuatorActuator的底层技术和原理端点自动配置端点请求处理端点数据提供端点数据暴露 如何使用Actuator添加依赖访问端点自定义端点 实例演示结论 引言 Spring Boot Actuator是一个非常强大且广泛使用的模块,它为Spring Boot应用程序提供了一套…...
【SQL】NodeJs 连接 MySql 、MySql 常见语句
1.安装 mysql npm install mysql 2.引入MySql import mysql from mysql 3.连接MySql const connection mysql.createConnection({host: yourServerip,user: yourUsername,password: yourPassword,database: yourDatabase })connection.connect(err > {if (err) {console…...
SSH 基础学习使用
什么是SSH 1.SSH SSH(Secure Shell) 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议,利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 实际应用中,主要用于保证远程登录和远程通信的安全&#…...
JavaFX: 使用本地openjfx包
JavaFX: 使用本地openjfx包 1、注释配置2、下载openjfx包3、导入openjfx的jar包 1、注释配置 build.gradle配置注释: 2、下载openjfx包 下载javaFx地址:https://gluonhq.com/products/javafx/ 3、导入openjfx的jar包...
【HCIA】静态路由综合实验
实验要求: 1、R6为ISP,接口IP地址均为公有地址,该设备只能配置IP地址之后不能再对其进行任何配置 2、R1-R5为局域网,私有IP地址192.168.1.0/24,请合理分配 3、R1、R2、R4,各有两个环回IP地址;R5,R6各有一…...
【实时场景复原 】实时光照校正方法,可在沙尘、水下及雾霾等退化场景中复原清晰场景研究附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…...
YOLOv11模型导出实战:从PyTorch到多平台部署的完整指南
1. YOLOv11模型导出前的准备工作 第一次接触模型导出时,我踩过不少坑。记得有次在客户现场调试,因为环境配置问题折腾了一整天。所以咱们先把基础打牢,避免走弯路。 硬件环境方面,建议至少准备: 配备NVIDIA显卡的机器&…...
Qwen3.5-2B图文对话教程:‘描述这张图’‘提取表格数据’‘生成营销文案’三类实操
Qwen3.5-2B图文对话教程:描述这张图提取表格数据生成营销文案三类实操 1. 认识Qwen3.5-2B轻量化多模态模型 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型特别适合在资源有限…...
实战演练:三种常见办公文档加密破解技巧(ZIP密码/ZIP伪加密/DOC密码)
1. ZIP密码破解实战:从入门到精通 工作中经常会遇到这种情况:同事发来的压缩包设置了密码,但对方忘记告诉你密码是什么;或者多年前自己加密的压缩包,现在怎么也打不开了。这时候就需要掌握一些ZIP密码破解的技巧。 我遇…...
从物理层到数据链路:深入解析CAN总线的核心通信机制
1. CAN总线的前世今生:为什么我们需要它? 想象一下你正在组装一辆智能汽车,发动机、变速箱、ABS、仪表盘这些部件都需要互相"对话"。如果每个设备都用独立线路连接,光是布线就能让工程师崩溃。这就是CAN总线诞生的背景—…...
百度网盘提取码智能获取工具:提升资源获取效率的技术方案
百度网盘提取码智能获取工具:提升资源获取效率的技术方案 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 在数字资源爆炸的今天,百度网盘作为主流文件分享平台,已成为学习资料、工作文件和媒…...
Gitee:中国DevOps生态的数字化转型引擎
本土化创新重塑开发者体验在中国数字经济蓬勃发展的背景下,Gitee作为国产代码托管平台的代表,正在重新定义中国开发者的工作方式。不同于国际平台在中国市场的适应性局限,Gitee通过深度理解本土开发者的工作习惯和业务场景,构建了…...
5分钟打造现代化Windows提示界面:ModernFlyouts彻底改变你的系统体验
5分钟打造现代化Windows提示界面:ModernFlyouts彻底改变你的系统体验 【免费下载链接】ModernFlyouts A modern Fluent Design replacement for the old Metro themed flyouts present in Windows. 项目地址: https://gitcode.com/gh_mirrors/mo/ModernFlyouts …...
从仿真到实战:如何将你的MATLAB机械臂轨迹规划代码(3-5-3插值)部署到ROS或Simulink?
从仿真到实战:MATLAB机械臂轨迹规划代码的ROS与Simulink部署指南 当你完成了MATLAB中机械臂轨迹规划的算法开发,看着屏幕上平滑的位置、速度和加速度曲线,接下来面临的核心问题是如何将这些数据转化为真实机械臂的动作。本文将深入探讨两种主…...
告别Transformer高开销:用频域注意力(FMNet思路)为你的轻量化模型注入全局感知能力
频域注意力革命:如何在轻量化模型中实现全局感知而不牺牲效率 引言:轻量化模型的困境与突破 在移动端AI和边缘计算领域,模型轻量化一直是个永恒的话题。开发者们不断在模型精度和计算资源之间寻找平衡点,而传统CNN模型虽然计算效…...
