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

B1048 数字加密

decription

本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。

输入格式:

输入在一行中依次给出 A 和 B,均为不超过 100 位的正整数,其间以空格分隔。

输出格式:

在一行中输出加密后的结果。

输入样例:

1234567 368782971

输出样例:

3695Q8118

idea

  • 个位为第一位,依次
    • 奇数位=(b[i]+a[i])%13
    • 偶数位=(b[i]-a[i]) > 0 ? (b[i] - a[i]) : (b[i] - a[i] + 10)
  • 隐含的细节有
    • 字符串a和b可能不等长,短的哪个用0补充
    • 在补充0的同时,数组长度改变,需要先记录数组长度

solution(失败版)

最高位为第一位版本
调着调着忘了是各位是第一位,很神奇的可以过测试点1, 2,3

#include <stdio.h>
#include <string.h>
int main(){char a[101], b[101], t[101], hash[14] = "0123456789JQK";int result[101], n = 0, len;scanf("%s%s", a, b);len = strlen(a) - strlen(b);if(len > 0){for(int i = strlen(a) - 1; i >= 0; i--){if(i <= (len - 1)) b[i] = '0';else b[i] = b[i - len];}}else if(len < 0){len *= -1;for(int i = strlen(b) - 1; i >= 0; i--){if(i <= (len - 1)) a[i] = '0';else a[i] = a[i - len];}}for(int i = 0; i < strlen(a) || i < strlen(b); i++, n++){if(i % 2 == 0) result[n] = ((a[i] - '0') + (b[i] - '0')) % 13;else{result[n] = (b[i] - '0') - (a[i] - '0');if(result[n] < 0) result[n] += 10;}}for(int i = 0; i < n; i++) printf("%c", hash[result[i]]);return 0;
}

solution

#include <stdio.h>
#include <string.h>
void reverse(char a[]){for(int i = 0; i < strlen(a) / 2; i++){char c = a[i];a[i] = a[strlen(a) - 1 - i];a[strlen(a) - 1 - i] = c;}
}
int main(){char a[101], b[101], hash[14] = "0123456789JQK";int result[101], n = 0;scanf("%s %s", a, b);reverse(a);reverse(b);int la = strlen(a), lb = strlen(b);for(int i = 0; i < la || i < lb; i++, n++){if(i >= la) a[i] = '0';if(i >= lb) b[i] = '0';if(i % 2 == 0) result[n] = ((a[i] - '0') + (b[i] - '0')) % 13;else{result[n] = (b[i] - '0') - (a[i] - '0');if(result[n] < 0) result[n] += 10;}}for(int i = n - 1; i >= 0; i--) printf("%c", hash[result[i]]);return 0;
}

反思

不能坐在书桌前摸鱼,明确好题设及可能的坑想,不能用低效率decode换个把盲点。

相关文章:

B1048 数字加密

decription 本题要求实现一种数字加密方法。首先固定一个加密用正整数 A&#xff0c;对任一正整数 B&#xff0c;将其每 1 位数字与 A 的对应位置上的数字进行以下运算&#xff1a;对奇数位&#xff0c;对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 …...

Qt使用FFmpeg播放视频

一、使用场景 因为项目中需要加载MP4播放开机视频&#xff0c;而我们的设备所使用的架构为arm架构&#xff0c;其中缺乏一些多媒体库。安装这些插件库比较麻烦&#xff0c;所以最终决定使用FFmpeg播放视频。 二、下载编译ffmpeg库 2.1 下载源码 源码下载路径&#xff1a;http…...

Win32 ListBox控件

Win32 ListBox控件 创建ListBox控件 创建窗口函数 HWND CrateWindowEx(DWORD dwExStyle , // 窗口的扩展风格,基本没用LPCTSTR lpClassName, // 已经注册的窗口类名称LPCTSTR lpWindowName, // 窗口标题栏的名字DWORD dwStyle, // 窗口的基本风格int x, // 左上角水平坐标int …...

最大值池化与均值池化比较分析

1 问题在深度学习的卷积网络过程中&#xff0c;神经网络有卷积层&#xff0c;池化层&#xff0c;全连接层。而池化层有最大值池化和均值池化两种情况&#xff0c;而我们组就在思考&#xff0c;最大值池化和均值池化有什么区别呢&#xff1f;两者的模型准确率是否有所不同&#…...

统计学 多元线性回归

文章目录统计学 多元线性回归多元线性回归模型拟合优度显著性检验线性关系检验回归系数检验多重共线性及其处理多重共线性的问题多重共线性的识别与处理变量选择利用回归方程进行预测哑变量回归统计学 多元线性回归 多元线性回归模型 多元线性回归模型&#xff1a;设因变量为…...

tar和gzip压缩和解压

打包和压缩的区别&#xff1a;打包&#xff1a;将多文件 封装在一起压缩&#xff1a;将多文件 封装在一起 通过特定的算法 将冗余的数据 进行删除tar默认是打包命令&#xff0c;如果想用tar进行压缩 必须加选项1、gzip格式压缩&#xff1a;tar zcvf 压缩包包名 文件1 文件2 文件…...

搭建Docker企业私有仓库

什么是仓库 仓库&#xff08;Repository&#xff09;是存储和分发 Docker 镜像的地方。镜像仓库类似于代码仓库&#xff0c;Docker Hub 的命名来自 GitHub&#xff0c;Github 是我们常用的代码存储和分发的地方。同样 Docker Hub 是用来提供 Docker 镜像存储和分发的地方。 谈…...

[NOIP2009 提高组] 最优贸易(C++,tarjan,topo,DP)

题目描述 $C 国有国有国有 n 个大城市和个大城市和个大城市和 m$ 条道路&#xff0c;每条道路连接这 nnn个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 mmm 条道路中有一部分为单向通行的道路&#xff0c;一部分为双向通行的道路&#xff0c;双向通行的…...

计算机网络:移动IP

移动IP相关概念 移动IP技术是移动结点&#xff08;计算机/服务器&#xff09;以固体的网络IP地址&#xff0c;实现跨越不同网段的漫游功能&#xff0c;并保证了基于网络IP的网络权限在漫游中不发生任何改变。移动结点&#xff1a;具有永久IP地址的设备。归属代理&#xff08;本…...

binutils工具集——GNU binutils工具集简介

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 GNU binutils是一个二进制工具集&#xff0c;主要包括&#xff1a; ld&#xff0c;GNU链接器。as&#xff0c;GNU汇编器。addr2line&#xff0c;把地址转化为文件名和行号。nm&#xff0c;列出目标文件的符…...

Golang编译选项(ldflags)有趣应用

本文介绍如何在构建时使用ldflags选项给Golang应用程序注入变量&#xff0c;用于给Go可执行文件增加版本标识或GIT提交摘要等信息。 应用程序的版本信息 我们首先查看Docker Cli 包含的提交信息&#xff1a; docker version 返回结果&#xff1a; Server: Docker Engine - Co…...

AIR32F103(十一) 在AIR32F103上移植微雪墨水屏驱动

目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告AIR32F103(二) Linux环境和LibOpenCM3项目模板AIR32F103(三) Linux环境基于标准外设库的项目模板AIR32F103(四) 27倍频216MHz,CoreMark跑分测试AIR32F103(五) FreeRTOSv202112核心库的集成和示例代码AIR32F103(六) ADC,I2S…...

Uipath Excel 自动化基础系列文章

Uipath Excel 自动化基础系列文章已发布到CSDN,网址&#xff1a;https://blog.csdn.net/Marshaljun?typeblog (3月份会在CSDN博客发布Uipath Excel 实战课程及经验分享) Uipath Studio流程设计器介绍 https://blog.csdn.net/Marshaljun/article/details/128699022 Uipath St…...

神经网络优化器之随机梯度下降法的理解

随机梯度下降法&#xff08;SGD&#xff09;随机梯度下降方法&#xff0c;在每次更新时用1个样本&#xff0c;随机也就是说我们用样本中的一个例子来近似我所有的样本&#xff0c;由于计算得到的并不是准确的一个梯度&#xff0c;因而不是全局最优的。但是相比于批量梯度&#…...

记录一次WIN11开机在登录页面循环的问题

记录一次由于未进行win密码设置&#xff0c;导致开机后卡在登录界面无法登录进去的问题。最后完美解决了。 1. 背景 开机后&#xff0c;显示用户登录界面&#xff0c;但是和以往不同&#xff0c;没有了密码输入框&#xff0c;只有一个“登录”按钮孤零零地显示在屏幕中间&…...

始终从最不易改变的方面开始

在你刚开始新工作、转换职业或者是加入新项目时&#xff0c;始终从最不易改变的方面开始。 在工作中&#xff0c;这可能意味着与团队成员建立关系&#xff0c;了解公司的流程和文化&#xff0c;或者熟悉公司的产品或服务。 在一项新项目中&#xff0c;这可能意味着了解项目范…...

4、Httpclient源码解析之HTTP协议

初始化CloseableHttpClient过程中涉及ExecChainHandler & DefaultHttpProcessor&#xff0c;即典型客户端责任链中的请求执行处理器。 责任链中各节点涉及请求处理器【ExecChainHandler】顺序如下&#xff1a;RedirectExec、ContentCompressionExec、HttpRequestRetryExec…...

浏览器并发行为记录

使用nodejs koa起一个服务&#xff0c;使请求延时返回。 服务端代码 /** 延时 */ exports.timeoutTestData async function (ctx) {console.log(get query:, ctx.request.query);const query ctx.request.query;let timeout query.timeout || 2000;await new Promise(res…...

工厂模式与抽象工厂

原理&#xff1a;逻辑和业务全部封装 不需要细节 只要结果 示例&#xff1a; # 简单工厂 class SimpleFactory:# 产品staticmethoddef product(name):return nameif __name__ "__main__":product SimpleFactory.product("Gitee")print(product) 装饰器…...

什么?你不知道 ConcurrentHashMap 的 kv 不能为 null?

一、背景 最近设计某个类库时使用了 ConcurrentHashMap 最后遇到了 value 为 null 时报了空指针异常的坑。 本文想探讨下以下几个问题&#xff1a; &#xff08;1&#xff09; Map接口的常见子类的 kv 对 null 的支持情况。 &#xff08;2&#xff09;为什么 ConcurrentHashM…...

CQDs-PEG/Biotin/@SiO2/Polymer,PEG修饰碳量子点的特性

中英文名称&#xff1a; CQDs-PEG&#xff0c;PEG修饰碳量子点 CQDs-Biotin&#xff0c;生物素偶联碳量子点 CQDsSiO2&#xff0c;二氧化硅包覆碳量子点 CQDsPolymer&#xff0c;聚合物包覆碳量子点 碳量子点&#xff08;Carbon Quantum Dots, CQDs&#xff09;作为一类新型零维…...

GPU内核优化:R3框架与分层自动调优实践

1. GPU内核优化的挑战与机遇在现代高性能计算和人工智能领域&#xff0c;GPU已经成为不可或缺的计算引擎。然而&#xff0c;随着硬件架构的快速迭代&#xff0c;保持应用程序的高性能表现变得越来越具有挑战性。传统的手工优化方法需要开发者投入数月时间&#xff0c;在算法设计…...

Swarmocracy:基于蜂群智能的分布式组织决策模拟实践

1. 项目概述&#xff1a;当开源项目遇上“蜂群民主”最近在开源社区里闲逛&#xff0c;发现一个挺有意思的项目&#xff0c;叫“Swarmocracy”。光看名字&#xff0c;就能嗅到一股混合了技术极客与组织社会学的味道——“Swarm”&#xff08;蜂群&#xff09;加上“-cracy”&am…...

实测MPU6050低功耗电流:从Sleep到Cycle模式,不同唤醒频率下功耗到底差多少?

MPU6050低功耗模式实测&#xff1a;从微安级电流到唤醒策略的硬件优化指南 当你的智能手环在手腕上安静沉睡时&#xff0c;MPU6050这颗运动传感器正在以微安级的电流维持着生命体征——这不是魔法&#xff0c;而是现代嵌入式设计中精妙的低功耗艺术。作为硬件工程师&#xff0c…...

windows系统安装wsl安装opencode教程

使用 AI 助手&#xff08;OpenCode&#xff09;在 WSL2 中高效安全工作教程 背景 在 AI 极大发展的现在&#xff0c;AI 可以帮助我们完成很多工作。那么怎么让 AI 帮我们高效、安全地工作呢&#xff1f;以下是教程。 同时&#xff0c;大模型在 Windows 里面直接执行脚本时错…...

告别疲劳计算烦恼:用nCode DesignLife搞定汽车悬架非线性载荷分析(附信号处理技巧)

告别疲劳计算烦恼&#xff1a;用nCode DesignLife搞定汽车悬架非线性载荷分析&#xff08;附信号处理技巧&#xff09; 悬架系统作为汽车底盘的核心部件&#xff0c;其疲劳寿命直接关系到整车可靠性与安全性。但在实际工程分析中&#xff0c;工程师们常常被一个棘手问题困扰&am…...

别再只盯着原理图了!用Python+OpenCV动手模拟激光三角测距(斜射/直射对比)

用PythonOpenCV模拟激光三角测距&#xff1a;斜射与直射的实战对比 激光三角测距技术听起来高大上&#xff0c;但真正理解它的精髓往往需要跳出公式推导的泥潭。作为一名长期在工业检测领域摸爬滚打的技术人员&#xff0c;我发现用代码模拟物理过程是最有效的学习方式。本文将…...

从Nginx到你的Go服务:聊聊CPU亲和性(绑核)那些容易被忽略的细节与坑

从Nginx到Go服务&#xff1a;CPU亲和性实战中的高阶策略与避坑指南 当你的服务吞吐量突然下降30%&#xff0c;而监控显示CPU利用率仅有50%时&#xff0c;问题可能出在CPU缓存失效和跨核调度开销上。上周我们团队刚解决一个生产环境案例&#xff1a;某Go语言交易引擎在物理机16核…...

ABAP 7.40+新语法实战:从传统代码到现代编程范式的重构

1. ABAP 7.40新语法带来的编程革命 十年前我刚接触ABAP时&#xff0c;代码风格还停留在SAP R/3时代的传统写法。每次看到满屏的DATA声明、LOOP...ENDLOOP和APPEND语句&#xff0c;就像在看上世纪90年代的编程教科书。直到ABAP 7.40版本发布&#xff0c;这个被称为"ABAP语言…...

从图文对到通用视觉:CLIP如何用对比学习重塑多模态预训练范式

1. 从图文匹配到通用视觉&#xff1a;CLIP的颠覆性思路 第一次看到CLIP模型时&#xff0c;我正为一个老问题头疼&#xff1a;训练好的图像分类器遇到新类别就直接"罢工"。比如用猫狗数据集训练的模型&#xff0c;突然给它看一只考拉&#xff0c;结果只会输出"猫…...