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

蓝桥杯算法训练合集十七 1.数字反转2.试题39713.矮人采金子4.筛法5.机器指令

目录

1.数字反转

2.试题3971

3.矮人采金子

4.筛法

5.机器指令


1.数字反转

问题描述

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2) 。

输入格式

输入共 1 行,一个整数 N。

输出格式

输出共 1 行,一个整数,表示反转后的新数。

样例输入1

123

样例输出1

321

样例输入2

-830

样例输出2

38

数据规模和约定

-1,000,000,000 ≤ N≤1,000,000,000。

示例代码

#include <iostream>
using namespace std;int main() {string str;cin >> str;int len = str.length();if (str[0] == '-') {//如果是负数cout << "-";int flag = 0;for (int i = len - 1; i > 0; i--) {if (str[i] == '0') {if (flag == 1) {cout << str[i];}}else {cout << str[i];flag = 1;}}}else {int flag = 0;for (int i = len - 1; i >= 0; i--) {if (str[i] == '0') {if (flag == 1) {cout << str[i];}}else {cout << str[i];flag = 1;}}}return 0;
}

2.试题3971

问题描述

有一些正整数,如果这个正整数分解质因数之后,只包含2或3或5,那么该数即为“丑数”,比如100就是“丑数”,100分解质因数之后只包含2和5;14就不是“丑数”,因为14分解质因数之后,包含了7.

输入正整数n,请写程序判断n是否是“丑数”,是“丑数”则输出“yes”,否则输出“no”。

输入格式

一个正整数n

输出格式

一个字符串yes 或no

样例输入

15

样例输出

yes

样例输入

242

样例输出

no

数据规模和约定

n不超过C语言整型范围

示例代码

#include <iostream>
using namespace std;
void dfs(int n) {if (n == 1) {cout << "yes";return ;}if (n % 2 == 0) {dfs(n / 2);}else if(n%3==0){dfs(n / 3);}else if (n % 5 == 0) {dfs(n / 5);}else {cout << "no";return;}
}
int main() {int n;cin >> n;if (n == 1) {//1比较特别cout << "no";return 0;}dfs(n);return 0;
}

3.矮人采金子

问题描述

矮人们发现了 N 个新的金矿。据测算,开采第 i 个金矿会带来 Ai 个金币的收入。但是,开采一个金矿本身需要花费 1000 个金币来开挖隧道。矮人们可以选择是否开采每个金矿。他们想知道,通过合理的选择,他们最多可以有多少个金币的净收入。你能回答他们的问题吗?

输入格式

第一行包含一个正整数 N 。(1 ≤ N ≤ 100)。
  第二行为 N 个用空格隔开的非负整数,其中第 i 个数表示 Ai,每个数
  不超过 10000。

输出格式

输出仅一行,只包含一个数字,即矮人们所能获得的最高的净收入。

样例输入

4
2012 999 1481 23

样例输出

1493

示例代码

#include <iostream>
using namespace std;int main() {int n,a,sum=0;cin >> n;for (int i = 0; i < n; i++) {cin >> a;if (a > 1000) {sum += (a - 1000);}}cout << sum;return 0;
}

4.筛法

问题描述

炫炫学了筛法之后,很想用筛法求欧拉函数。他决定求1到N的所有数的欧拉函数值。

输入格式

输入的第一行包含1个整数n,。

输出格式

输出若干行,每行包含一个整数,第i行表示i的欧拉函数值

样例输入

2

样例输出

1

1

数据规模和约定

n<=500000

示例代码

#include <iostream>
using namespace std;
void phi(int n) {double res=double(n);for (int i = 2; i * i <= n; i++) {if (n % i == 0) {res = res * (i - 1) / i;while (n % i == 0) {n /= i;}}}if (n > 1) {res = res * (n - 1) / n;}cout << int(res) << endl;
}int main() {int n;cin >> n;for (int i = 1; i <= n; i++) {phi(i);}return 0;
}

5.机器指令

我觉得测试点是错的

问题描述

A同学在一台简陋的计算机上运行程序H。(同《计算机科学导论》一书的附录C)假设这台机器的CPU仅有16个通用寄存器(register)(用十六进制的0到F编号),主存只有256个内存单元(memory cell)(用十六进制00到FF编号),每个机器指令长两个字节(用十六进制数表示),各种指令的解释如下:
1RXY 将内存单元XY里的数据复制到寄存器R中
2RXY 将数据XY存至寄存器R中
3RXY 将寄存器R中的数据复制到内存单元XY中
40RS 将寄存器R中的数据复制到寄存器S中
5RST 将寄存器S和寄存器T中储存的整数相加并存放在寄存器R中
BRXY 如果寄存器R中的内容和寄存器0中的内容相同,则程序计数器指向XY内存单元(执行JUMP操作),否则程序按原来流程继续运行
C000 结束程序
在一个指令循环中,CPU每次提取程序计数器指向的内存单元和下一个内存单元中两个十六进制数组成的四位十六进制数作为机器指令并执行,若在指令执行时未进行JUMP操作,则把程序计数器向后移两个单元。一旦程序开始运行,CPU将进入指令循环直到出现“结束程序”的命令为止(C000)。现在这个程序H只需使用从00到0F的内存单元,且在程序开始前程序计数器(program counter)已经指向了00单元。输入程序H运行前00到0F内存单元里存放的数据,请输出程序H结束后00到0F内存单元里的数据。

输入格式

输入一行16个十六进制数(每个十六进制数占两位,可能以0开头),用空格隔开,分别表示程序H运行前00到0F内存单元中存放的数据。

输出格式

输出一行16个十六进制数(每个十六进制数占两位,可能以0开头),用空格隔开,分别表示程序H结束后00到0F内存单元中存放的数据。

样例输入

2A 99 3A 00 1A 03 3A 02 C0 00 00 00 00 00 00 00

样例输出

99 99 00 00 1A 03 3A 02 C0 00 00 00 00 00 00 00

样例说明

运行指令2A99:将十六进制数99存至寄存器A中;
运行指令3A00:将寄存器A中的数据(99)复制到内存单元00中;
运行指令1A03:将内存单元03里的数据(00)复制到寄存器A中;
运行指令3A02:将寄存器A中的数据(00)复制到内存单元02中;
运行指令C000:结束程序。

示例代码

#include <iostream>
using namespace std;
int a[16] = { 0 }, b[16] = { 0 };
int find_index(char n) {//16进制转化为10进制if (n >= '0' && n <= '9') {return int(n) - 48;}else {return int(n) - 55;}
}
void shizhuanshiliu(int n) {//10进制转化为16进制输出int first, second;first = n / 16;second = n % 16;if (first >= 10) {cout << char(first + 55);}else {cout << char(first + 48);}if (second >= 10) {cout << char(second + 55) << " ";}else {cout << char(second + 48) << " ";}return;
}
int main() {string str;int flag = 0, count = 0;for (int i = 0; i < 16; i++) {cin >> str;a[i] = find_index(str[0]) * 16 + find_index(str[1]);//为储存的数据b[i] = a[i];//命令}while (b[count]/16!=12){//当首字母为C就结束if (b[count] / 16 == 1) {//将内存单元XY里的数据复制到寄存器R中int temp = b[count] % 16;count++;a[temp] = a[b[count]];count++;}else if (b[count] / 16 == 2) {//将数据XY存入寄存器R中int temp = b[count] % 16;count++;a[temp] = a[count];count++;}else if (b[count] / 16 == 3) {//将寄存器R中的数据复制到寄存器XY中int temp = b[count] % 16;count++;a[b[count]] = a[temp];count++;}else if (b[count] / 16 == 4) {//将寄存器R中的数据复制到寄存器S中count++;a[b[count] % 16] = a[b[count] / 16];count++;}else if (b[count] / 16 == 5) {//将寄存器S和寄存器T中储存的数相加并存放在寄存器R中int temp = b[count] % 16;count++;a[temp] = a[b[count] / 16] + a[b[count] % 16];count++;}else if (b[count] / 16 == 11) {//如果寄存器R中的内容和寄存器0的内容相同,则程序计数器指向XY内存单元,否则程序按照原来流程继续运行int temp = b[count] % 16;count++;if (temp == a[0]) {count = a[b[count]];}else {count++;}}}for (int i = 0; i < 16; i++) {shizhuanshiliu(a[i]);}return 0;
}

相关文章:

蓝桥杯算法训练合集十七 1.数字反转2.试题39713.矮人采金子4.筛法5.机器指令

目录 1.数字反转 2.试题3971 3.矮人采金子 4.筛法 5.机器指令 1.数字反转 问题描述 给定一个整数&#xff0c;请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式&#xff0c;即除非给定的原数为零&#xff0c;否则反转后得到的新数的最高位数字不应为零&…...

第一章 初识 Spring Security

第一章 初识 Spring Security 1、权限管理 权限管理 基本上涉及到用户参与的系统都要进行权限管理&#xff0c;权限管理属于系统安全的范畴&#xff0c;权限管理实现了对用户访问系统的控制&#xff0c;按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资…...

2023-02-20 关于回朔的思考

摘要: 考虑命运来回动荡交织&#xff0c;一些新的规划在不断的扩充, 而一些历史则开始陷入回朔。 有必要对历史和过往做一些规划和思考。 需要注意在这个阶段, 第一优先级是在反刍中将其最大化。 理论层: 一. 数据库的基础理论 ANSI SQL到词法解析和语法解析mysql的SQL层对…...

推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】

0.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回、粗排、精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板;粗排是初筛,一般不会上复杂模型;精排是整个推荐环节的重中之重,在特征和模型上都会做的比较复杂;重排,一般是做打散或满足…...

适合初学者的超详细实用调试技巧(下)

我们日常写代码的时候&#xff0c;常常会遇到bug的情况&#xff0c;这个时候像我这样的初学者就会像无头苍蝇一样这里改改那里删删&#xff0c;调试的重要性也就显现出来&#xff0c;这篇文章接着上文来讲解。 上文地址&#xff1a;(8条消息) 适合初学者的超详细实用调试技巧&…...

C# String与StringBuilder 的区分

重点 1)它是比较的栈里面的值是否相等(值比较) 2)Equals它比较的是堆里面的值是否相等(引用地址值比较) 3)Object.ReferenceEquals(obj1,obj2)它是比较的是内存地址是否相等 问题描述&#xff1a; 今日提交代码时候&#xff0c;被检测工具发出修改建议。遂补充一下知识 1.什么…...

【麒麟】基于GPS北斗卫星技术的NTP网络时间服务器

【麒麟】基于GPS北斗卫星技术的NTP网络时间服务器 【麒麟】基于GPS北斗卫星技术的NTP网络时间服务器 麒麟系统NTP授时方案 设计思路&#xff1a; 在通用的麒麟服务器内部固定一块北斗卫星接收模块并引出卫星天线接口&#xff0c;卫星模块接收北斗卫星数据并解码输出时间数据&…...

“互联网+”下劳动关系认定的现状

1. 劳动关系的认定标准。依据目前我国法律的有关规定, 判定劳动关系存在两种情况:其一, 在有书面劳动合同的情况下, 这时应以书面合同作为认定标准;其二, 在没有书面合同的情况下, 则依据2005年劳社部的《关于确立劳动关系有关事项的通知》来认定, 其中第一条:“用人单位招用劳…...

LPWAN及高效弹性工业物联网核心技术方案

20多年前的一辆拖拉机就是一个纯机械的产品&#xff0c;里面可能并没有电子或者软件的构成&#xff1b;而随后随着软件的发展&#xff0c;拖拉机中嵌入了软件&#xff0c;它能控制发动机的功率及拖拉机防抱死系统&#xff1b;接下来&#xff0c;通过融入各种软件&#xff0c;拖…...

OPTIONS FMTSEARCH

FMTSEARCH 指定要检索的格式目录列表&#xff0c;语法如下&#xff1a;OPTIONS FMTSEARCH(catalog-specification-1<catalog-specification-2 … >);使用PROC FORMAT时可以定义格式目录&#xff0c;LIBRARYlibref或LIBRARYlibref.catalog。格式目录可以是libref或libref.…...

Python3 pip

Python3 pip pip 是 Python 包管理工具&#xff0c;该工具提供了对 Python 包的查找、下载、安装、卸载的功能。 软件包也可以在 https://pypi.org/ 中找到。 目前最新的 Python 版本已经预装了 pip。 注意&#xff1a;Python 2.7.9 或 Python 3.4 以上版本都自带 pip 工具…...

【2023-02-20】JS逆向之翼支付

提示&#xff1a;文章仅供参考&#xff0c;禁止用于非法途径 文章目录前言分析总结前言 真的好久没更了…… 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 分析 进到网页&#xff0c;加载两个接口 applyLoginFactor 接口返回一个RSA公钥&#xff0…...

假如面试官问你Babel的原理该怎么回答

1. 什么是 Babel 简单地说&#xff0c;Babel 能够转译 ECMAScript 2015 的代码&#xff0c;使它在旧的浏览器或者环境中也能够运行。 // es2015 的 const 和 arrow function const add (a, b) > a b;// Babel 转译后 var add function add(a, b) {return a b; };Babel…...

深入Spring底层透析Bean创建过程之拨云见日篇

目录前言一.BeanFactory快速入门1. BeanFactory创建Bean2. BeanFactory和ApplicationContext的关系3. 和ApplicationContext区别(高频问点)4. BeanFactory的继承体系5. ApplicationContext的继承体系二.Bean实例化的基本流程&#xff08;重点)前言 首先感谢您的阅览&#xff0…...

8 狗监控的封装

概述 为了保证嵌入式程序能够长时间稳定地运行,需要加入狗监控机制。狗监控的原理为:应用程序需要每隔一段时间来喂狗或保活,如果应用程序崩溃或者内核崩溃,导致长时间无法喂狗,则狗将超时,会自动重启系统。部分IPC芯片提供了硬件狗,对于没有硬件狗的,需要自行实现软件…...

基于卷积神经网络图像风格迁移系统的设计与实现(flask系统)

1.摘要 Leon Gatys 等人研发的深度神经网络使用神经的表达来分离任意图片的内容和风格&#xff0c;为生成艺术图片提供一个神经算法。本文基于Style Transfer算法&#xff0c;使用风格成本函数训练CNN&#xff0c;用卷积神经网络提取图像特征&#xff0c;依次提取内容图像的内…...

【1】linux命令每日分享——mkdir

大家好&#xff0c;这里是sdust-vrlab&#xff0c;Linux是一种免费使用和自由传播的类UNIX操作系统&#xff0c;Linux的基本思想有两点&#xff1a;一切都是文件&#xff1b;每个文件都有确定的用途&#xff1b;linux涉及到IT行业的方方面面&#xff0c;在我们日常的学习中&…...

实例2:树莓派GPIO控制外部LED灯闪烁

实例2&#xff1a;树莓派GPIO控制外部LED灯闪烁 实验目的 通过背景知识学习&#xff0c;了解四足机器人mini pupper搭载的微型控制计算机&#xff1a;树莓派。通过树莓派GPIO操作的学习&#xff0c;熟悉GPIO的读写控制。通过外部LED灯的亮灭控制&#xff0c;熟悉树莓派对外界…...

详解可变形注意力模块(Deformable Attention Module)

Deformable Attention&#xff08;可变形注意力&#xff09;首先在2020年10月初商汤研究院的《Deformable DETR: Deformable Transformers for End-to-End Object Detection》论文中提出&#xff0c;在2022CVPR中《Vision Transformer with Deformable Attention》提出应用了De…...

Java数据结构中链表分割及链表排序使用快速排序、归并排序、集合排序、迭代、递归,刷题的重点总结

本篇主要介绍在单链表进行分割&#xff0c;单链表进行分隔并使用快速排序、归并排序、集合排序、迭代、递归等方法的总结&#xff0c;愿各位大佬喜欢~~ 86. 分隔链表 - 力扣&#xff08;LeetCode&#xff09; 148. 排序链表 - 力扣&#xff08;LeetCode&#xff09; 目录 一…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

C++实现分布式网络通信框架RPC(2)——rpc发布端

有了上篇文章的项目的基本知识的了解&#xff0c;现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...

高防服务器价格高原因分析

高防服务器的价格较高&#xff0c;主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因&#xff1a; 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器&#xff0c;因此…...