PAT乙组(1016 部分A+B 1017 A除以B)C语言超详细

文章目录

  • 1016 部分A+B
  • 1017 A除以B

1016 部分A+B

在这里插入图片描述

输入样例 1:

3862767 6 13530293 3

输出样例 1:

399

输入样例 2:

3862767 1 13530293 8

输出样例 2:

0

代码长度限制 16 KB
时间限制 150 ms
内存限制 64 MB
栈限制 8192 KB

思路解析

输入解析

首先,程序读取四个整数 a, da, b, db。其中 a 和 b 为原始数字,da 和 db为我们需要提取的数字。这些输入将直接用于后续的数字提取与计算。

初始化变量:

count1 和 count2:用于记录当前位的权重(即十进制位数),初始值为 1。 sum1 和 sum2:分别用来存储从数字 a 和 b中提取出来的符合条件的数字部分。

提取 A 中符合要求的数字部分:

使用 while (a != 0) 循环逐位处理数字 a。 在每一轮中,通过 a % 10 提取出数字的当前最低位,判断该位是否等于 da。如果相等,将该位的数字按当前位权(即 count1)加入到 sum1 中,然后将 count1 乘以 10(使得下一位的权重加倍)。然后通过 a /= 10 去掉当前最低位,继续处理剩余的数字。

B同理

计算结果:

最终,程序输出 sum1 + sum2,即 P_A 和 P_B 的和

代码示例

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>int main() {// 输入:a, da, b, db 四个整数int a, da, b, db;scanf("%d %d %d %d", &a, &da, &b, &db);// 初始化一些变量int count1 = 1, count2 = 1;  // 用来记录当前位的权重(十进制位数)int sum1 = 0, sum2 = 0;      // 用来分别保存P_A和P_B// 处理 A 的部分while (a != 0) {int t = a % 10;  // 取出 A 的当前最低位数字if (t == da) {sum1 += count1 * da;  // 将 D_A 添加到 sum1 中,乘以相应的位权count1 *= 10;          // 位权乘以10,准备处理下一位}a /= 10;  // 去掉当前最低位}// 处理 B 的部分while (b != 0) {int t = b % 10;  // 取出 B 的当前最低位数字if (t == db) {sum2 += count2 * db;  // 将 D_B 添加到 sum2 中,乘以相应的位权count2 *= 10;          // 位权乘以10,准备处理下一位}b /= 10;  // 去掉当前最低位}// 输出结果,P_A + P_Bprintf("%d", sum1 + sum2);return 0;
}

1017 A除以B

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R成立。

输入格式:

输入在一行中依次给出 A 和 B,中间以 1 空格分隔。

输出格式:

在一行中依次输出 Q 和 R,中间以 1 空格分隔。

输入样例:

123456789050987654321 7

输出样例:

17636684150141093474 3

代码长度限制 16 KB
时间限制 100 ms
内存限制 64 MB
栈限制 8192 KB

思路解析

初始化变量:

t:用来存储每一步的余数,初始化为 0。
q:用来存储商数,每计算出一位商数,将其添加到该数组中。
qindex:用来标记商数组的当前位置,初始为 0。

逐位计算商和余数:

循环遍历 A 中的每一位数字。
t = t * 10 + (a[i] - '0'):这一步是将当前的余数 t 乘以10,然后加上当前位的数字。a[i] - ‘0’ 通过字符减去 ‘0’,将字符转为数字。
q[qindex++] = t / b +'0':这一步计算当前位的商数(即 t / b),并将其转化为字符加到 q 数组中。注意,‘0’ 是 ASCII 值 48,因此我们需要加上 ‘0’ 来将数字转换回字符形式。
t = t % b:更新余数 t 为当前的余数,即 t % b。

去掉商数的前导零:

商数的计算过程中,可能会产生前导零,特别是当商的第一个非零数字位之后出现零时。为了去掉前导零,我们使用一个 start变量来标记商数的第一个有效数字的位置。
while (q[start] == '0' && start < qindex -1):这个循环用于跳过商数 q 中的前导零。start 会指向第一个非零的数字。

输出结果:

最后,我们输出商数和余数。printf(“%s %d\n”, &q[start], t) 输出从 q[start] 开始的商数和当前的余数 t。

代码示例

#include <stdio.h>
#include <string.h>int main() {char a[1001];int b, t = 0;char q[1001];// 读取输入scanf("%s %d", a, &b);int len = strlen(a);int qindex = 0;// 逐位处理for (int i = 0; i < len; i++) {// 更新余数,a[i] - '0' 获取当前数字t = t * 10 + (a[i] - '0');// 将商数字符追加到 q 数组q[qindex++] = t / b + '0';// 更新余数t = t % b;}// 终止符q[qindex] = '\0';// 去除商数中的前导零int start = 0;while (q[start] == '0' && start < qindex - 1) {start++;}// 输出商数和余数printf("%s %d\n", &q[start], t);return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文笔记:Multi-Head Mixture-of-Experts

2024 neurips 1 背景 稀疏混合专家&#xff08;SMoE&#xff09;可在不显著增加训练和推理成本的前提下提升模型的能力【比如Mixtral 8*7B&#xff0c;表现可以媲美LLaMA-2 70B】 但它也有两个问题 专家激活率低&#xff08;下图左&#xff09; 在优化时只有一小部分专家会被…

【Azure 架构师学习笔记】- Azure Databricks (11) -- UC搭建

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (10) – UC 使用 前言 由于ADB 的更新速度很快&#xff0c;在几个月之后重新搭建ADB 时发现UC 已经更新了很多&#xff0c;为了后续做ADB 的功…

解锁养生秘籍,拥抱健康生活

在这个快节奏的时代&#xff0c;人们行色匆匆&#xff0c;常常在忙碌中忽略了健康。其实&#xff0c;养生并非遥不可及&#xff0c;它就藏在生活的细微之处&#xff0c;等待我们去发现和实践。 规律作息是健康的基础。日出而作&#xff0c;日落而息&#xff0c;顺应自然规律&am…

动手学Agent——Day2

文章目录 一、用 Llama-index 创建 Agent1. 测试模型2. 自定义一个接口类3. 使用 ReActAgent & FunctionTool 构建 Agent 二、数据库对话 Agent1. SQLite 数据库1.1 创建数据库 & 连接1.2 创建、插入、查询、更新、删除数据1.3 关闭连接建立数据库 2. ollama3. 配置对话…

最新国内 ChatGPT Plus/Pro 获取教程

最后更新版本&#xff1a;20250202 教程介绍&#xff1a; 本文将详细介绍如何快速获取一张虚拟信用卡&#xff0c;并通过该卡来获取ChatGPT Plus和ChatGPT Pro。 # 教程全程约15分钟开通ChatGPT Plus会员帐号前准备工作 一个尚未升级的ChatGPT帐号&#xff01;一张虚拟信用卡…

Redis哈希槽机制的实现

Redis哈希槽机制的实现 Redis集群使用哈希槽&#xff08;Hash Slot&#xff09;来管理数据分布&#xff0c;整个集群被划分为固定的16384个哈希槽。当我们在集群中存储一个键时&#xff0c;Redis会先对键进行哈希运算&#xff0c;得到一个哈希值。然后&#xff0c;Redis将该哈…

下载安装运行测试开源vision-language-action(VLA)模型OpenVLA

1. 安装 项目官网OpenVLA 首先按照官网提示的以下代码&#xff0c;执行创建环境->安装最小依赖->git克隆项目等 # Create and activate conda environment conda create -n openvla python3.10 -y conda activate openvla# Install PyTorch. Below is a sample comma…

外贸跨境订货系统流程设计、功能列表及源码输出

在全球化的商业环境下&#xff0c;外贸跨境订货系统对于企业拓展国际市场、提升运营效率至关重要。该系统旨在为外贸企业提供一个便捷、高效、安全的订货平台&#xff0c;实现商品展示、订单管理、物流跟踪等功能&#xff0c;满足跨境业务的多样化需求。以下将详细阐述外贸订货…

排序算法复习——包括插入排序、希尔排序、冒泡排序、快排(包括霍尔法、挖坑法、快慢指针法)、堆排、选择排序、归并排序等 (代码采用c/c++混编)

1.插入排序 插入排序就像我们打斗地主的时候&#xff0c;有一大把牌我们来不及理&#xff0c;就会一张一张的拿然后把拿到的牌放到合适的位置。 对于插入排序我们可以将待排序的数组理解为那一堆没有整理的牌&#xff0c;将排序好的部分理解为手上的牌&#xff0c;对于第i张牌我…

RocketMQ 5.0安装部署

0.前言 在微服务架构逐渐成为主流的今天&#xff0c;消息队列如同数字世界的快递员&#xff0c;承担着系统间高效通信的重要使命。 Apache RocketMQ 自诞生以来&#xff0c;因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余…

Jetson Agx Orin平台preferred_stride调试记录--1924x720图像异常

1.问题描述 硬件: AGX Orin 在Jetpack 5.0.1和Jetpack 5.0.2上测试验证 图像分辨率在1920x720和1024x1920下图像采集正常 但是当采集图像分辨率为1924x720视频时,图像输出异常 像素格式:yuv_uyvy16 gstreamer命令如下 gst-launch-1.0 v4l2src device=/dev/video0 ! …

【玩转全栈】----Django模板语法、请求与响应

目录 一、引言 二、模板语法 三、传参 1、视图函数到模板文件 2、模板文件到视图函数 四、引入静态文件 五、请求与响应 ?1、请求 2、响应 六、综合小案例 1、源码展示 2、注意事项以及部分解释 3、展示 一、引言 像之前那个页面&#xff0c;太过简陋&#xff0c;而且一个完整…

#渗透测试#批量漏洞挖掘#CyberPanel面板远程命令执行漏洞(CVE-2024-51567)

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 一、漏洞特征与影响 二、修复方案与技术细…

C++多态

目录 多态的概念多态的定义及实现协变析构函数的重写通过一段代码理解多态C11 final 和 override重载、覆盖(重写)、隐藏(重定义)的对比多态调用原理单继承中的虚函数表抽象类多继承中的虚函数表 多态的概念 概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体…

PosgreSQL比MySQL更优秀吗?

一日&#xff0c;一群开发者对PosgreSQL是不是比MySQL更优秀进行了激烈的辩论&#xff0c;双方吵的都要打起来了 正方有以下理由&#xff1a; PostgreSQL严格遵循SQL标准规范&#xff0c;相较MySQL在语法兼容性和功能完整性方面展现出更强的体系化设计&#xff0c;尤其在事务处…

『大模型笔记』Jason Wei: 大语言模型的扩展范式!

Jason Wei: 大语言模型的扩展范式! 文章目录 一. What is scaling and why do it?1. 什么是Scaling?2. 为什么要Scaling?二. Paradigm 1: Scaling next-word prediction1. 下一个词预测2. 极限多任务学习3. Why does scaling work?三. The challenge with next-word predi…

TCP协议(Transmission Control Protocol)

TCP协议&#xff0c;即传输控制协议&#xff0c;其最大的特征就是对传输的数据进行可靠、高效的控制&#xff0c;其段格式如下&#xff1a; 源端口和目的端口号表示数据从哪个进程来&#xff0c;到哪个进程去&#xff0c;四位报头长度表示的是TCP头部有多少个4字节&#xff0c;…

瑞萨RA-T系列芯片ADCGPT功能模块的配合使用

在马达或电源工程中&#xff0c;往往需要采集多路AD信号&#xff0c;且这些信号的优先级和采样时机不相同。本篇介绍在使用RA-T系列芯片建立马达或电源工程时&#xff0c;如何根据需求来设置主要功能模块ADC&GPT&#xff0c;包括采样通道打包和分组&#xff0c;GPT触发启动…

TraeAi上手体验

一、Trae介绍 由于MarsCode 在国内由于规定限制&#xff0c;无法使用 Claude 3.5 Sonnet 模型&#xff0c;字节跳动选择在海外推出 Trae&#xff0c;官网&#xff1a;https://www.trae.ai/。 二、安装 1.下载安装Trae-Setup-x64.exe 2.注册登录 安装完成后&#xff0c;点击登…

三层渗透测试-DMZ区域 二三层设备区域

DMZ区域渗透 信息收集 首先先进行信息收集&#xff0c;这里我们可以选择多种的信息收集方式&#xff0c;例如nmap如此之类的&#xff0c;我的建议是&#xff0c;可以通过自己现有的手里小工具&#xff0c;例如无影&#xff0c;密探这种工具&#xff0c;进行一个信息收集。以免…