当前位置: 首页 > news >正文

生成元 rust解法

如果x加上x的各个数字之和得到y,就说x是y的生成元。给出n(1≤n≤100000),求n的最小生成元。无解输出0。例如,n=216,121,2005时的解分别为198,0,1979。
【分析】
本题看起来是个数学题,实则不然。假设所求生成元为m。不难发现m<n。换句话说,只需枚举所有的m<n,看看有没有哪个数是n的生成元。
可惜这样做的效率并不高,因为每次计算一个n的生成元都需要枚举n-1个数。
更快的方法是一次性枚举100000内的所有正整数x,求出对应的y,x是y的最小生成元,最后查表即可。

解法:

use std::io;
fn main() {let mut ans = vec![0; 100000 + 50];for i in 1..=100000 {let mut x = i;let mut y = i;while x > 0 {y += x % 10;x /= 10;}if ans[y] == 0 || i < ans[y] {ans[y] = i;}}let mut buf = String::new();io::stdin().read_line(&mut buf).unwrap();let mut cnt: usize = buf.trim().parse().unwrap();while cnt > 0 {let mut buf = String::new();io::stdin().read_line(&mut buf).unwrap();let y: usize = buf.trim().parse().unwrap();println!("{}", ans[y]);cnt -= 1;}
}
http://www.lryc.cn/news/167230.html

相关文章:

  • 某ERP系统存在RCE漏洞
  • ElasticSearch 因为索引字段改变,平滑迁移索引
  • invalid use of incomplete type ‘class Ui::xxx‘
  • 变压器寿命预测(python代码,Logistic Regression模型预测效果一般,可以做对比实验)
  • 微信小程序-增加隐私协议弹窗
  • 分布式事务解决方案之可靠消息最终一致性
  • ROS学习笔记(四)---使用 VScode 启动launch文件运行多个节点
  • 编译Redis时报错: jemalloc/jemalloc.h: No such file or directory
  • LLM 05-大模型法律
  • 1-5 AUTOSAR数据交换文件ARXML
  • 学习尚硅谷HTML+CSS总结
  • 自己设计CPU学习之路——基于《Xilinx FPGA应用开发》
  • 数据结构与算法:树
  • Spark 【Spark SQL(一)DataFrame的创建、保存与基本操作】
  • 026-从零搭建微服务-文件服务(二)
  • Jenkins 页面部分显示Http状态403 被禁止
  • ajax day4
  • 8.Spring EL与ExpressionParser
  • Go和Java实现迭代器模式
  • 如何在 Vue.js 和 Nuxt.js 之间做出选择?
  • (二十三)大数据实战——Flume数据采集之采集数据聚合案例实战
  • Linux: network: dhcp: mtu 这个里面也有关于网卡的MTU设置;
  • Android中使用图片水印,并且能够在线下载字体并应用于水印
  • HTTP文件服务
  • nginx配置获取客户端的真实ip
  • 1990-2022上市公司董监高学历工资特征信息数据/上市公司高管信息数据
  • Java程序连接 Mysql 超时问题 - 数据包过大,导致超时,# 配置网络超时时间 socketTimeout: 1800000
  • c++分层最短路(洛谷飞行路线)acwing版
  • Python bs4 BeautifulSoup库使用记录
  • Jmeter系列-插件安装(5)