PAT乙级.1017. A除以B (20)

1017 A除以B(C语言——简单易理解) 本题就是将输入的数字当成是字符串,用数组来存储它,然后用手算除法的思想来进行除法运算。计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。1、A是不超过1000位的正整数,已经超过整数的范围(-2147483648~2147483647),不能够简单的定义A为整型变量。2、有可能出现A小于等于B的情况,但是B是1位正整数,所以在这种情况下A只可能是1~9且长度为1。2 、被除数首位若不够除(即商等于0)的话,不必输出,但若0出现在非首位,则正常输出。代码长度限制:16 KB。 阅读详情

题目

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

输入格式

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

输出格式

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

输入样例

123456789050987654321 7

输出样例

17636684150141093474 3

PAT链接


思路

数据结构

int r;  //用作余数
struct bign
{
    int d[1000];
    int len;
    bign()
    {
        fill(d,d+sizeof(d)/sizeof(d[0]),0); //或memset(d,0,sizeof(d))
        len = 0;
    }
};

代码

/**
* @tag     PAT_B_1017
* @authors R11happy (xushuai100@126.com)
* @date    2016-9-10 22:16-
* @version 1.0
* @Language C++
* @Ranking  930/309
* @function null
*/

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;

int r;  //用作余数
struct bign
{
    int d[1000];
    int len;
    bign()
    {
        fill(d,d+sizeof(d)/sizeof(d[0]),0); //或memset(d,0,sizeof(d))
        len = 0;
    }
};

bign change(char str[])
{
    bign a;
    a.len = strlen(str);
    for (int i = 0; i<a.len; i++)
    {
        a.d[i] = str[a.len - 1 - i] - '0';
    }
    return a;
}

int compare(bign a, bign b)
{
    if (a.len > b.len)   return 1;
    else if (a.len < b.len)  return -1;
    else
    {
        for (int i = a.len - 1; i >= 0; i--)
        {
            if (a.d[i] > b.d[i])   return 1;
            else if (a.d[i] < b.d[i])   return -1;
        }
    }
    return 0;
}

bign div(bign a, int b)
{
    bign c;
    c.len = a.len;
    for (int i = a.len - 1; i >= 0; i--)
    {
        r = r * 10 + a.d[i];
        c.d[i] = r / b;
        r = r % b;
    }
    while (c.len - 1 > 0 && c.d[c.len - 1] == 0)
    {
        c.len--;
    }
    return c;
}

int main(int argc, char const *argv[])
{
    char str[1000];
    int b;
    scanf("%s %d", str, &b);
    bign a = change(str);
    bign c = div(a, b);
    // 输出商
    for (int i = c.len - 1; i >= 0; i--)
    {
        printf("%d", c.d[i]);
    }
    // 输出余数
    printf(" %d\n", r);
    return 0;
}

收获

1017 A除以B (20 分)【满分+详解】 1017 A除以B (20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 17636... 阅读详情

相关推荐

基于C#的跨平台上位机开发:一次编写,多平台运行

摘要: 本文探讨了如何利用C#进行跨平台上位机开发,以适配Windows、Linux、macOS等多平台需求。通过分析传统单平台开发的局限性(如API差异、硬件接口兼容性),提出基于.NET 5/6/7的解决方案,重点推荐Avalonia(类WPF的跨平台UI框架)和GtkSharp(基于GTK+)实现图形界面。同时,针对硬件通信需求,介绍了System.IO.Ports串口通信和LibUsbDotNet的跨平台支持,并强调多平台调试(VS Code、Docker)的重要性,最终实现一次编码、多端部署的高效

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1404

PAT乙级1017. A除以B(20)

1017. A除以B(20) 本题要求计算A / B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔。 输出格式: 在1行中依次输出Q和R,中间以1空格分隔。 输入样例: 123456789050987654321 7 输出样例: 17636684150

wang1997hi的博客 642

别再让电池充不满!用CN3791芯片设计太阳能充电电路,这几个调试坑我帮你踩了

本文详细解析了使用CN3791芯片设计太阳能充电电路时的常见调试问题及解决方案。从RCS电阻的选择到MPPT电压偏差的修正,再到线路损耗和温度补偿的优化,提供了全面的避坑指南。通过实测数据和优化方案,帮助工程师提升锂电池充电效率,确保太阳能充电电路的稳定性和可靠性。

weixin_42528191的博客 240

C语言 —— 1017 A除以B (20分)

一、题目: 本题要求计算A/B,其中A是不超过 1000 位的正整数,B是 1 位正整数。你需要输出商数Q和余数R,使得A=B×Q+R成立。 输入格式: 输入在一行中依次给出A和B,中间以 1 空格分隔。 输出格式: 在一行中依次输出Q和R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 1763...

qq_36627158的博客 2368

rk3399 linux 5.10 usb 2.0设备上电概率性注册失败

先排除硬件上的问题,然后就烧录kernel 4.1的的镜像,多次测试也没有发现这个问题,所以排除了硬件上的问题,然后。查下usb hub和usb 4G的复位脚,写驱动都给它们配上了,但是还是存在这个问题。最后通过对比rk3399.dtsi发现少了个power-domains = ;多次开关机,发现usb hub和4G都通信失败了,这就有点奇怪了,按理说usb驱动是没啥问题的。加上后,重新编译烧录,重新测试没有发现这个问题了!先查看usb log。

qq_32017483的博客 2672

vCenter Server出现no healthy upstream的解决方法

可以通过"VMware vCenter Server Management(服务)"来排查问题,在网页里面找到“服务”模块,会发现有很多服务没有启动起来,而且手动启动也无法启动。7.0 地址后,页面出现“no healthy upstream”,无法正常登录vCenter,重启后依旧如此,该故障的前提是没有对vCenter做过任何配置,如下图所示。于是用命令查询是否有证书过期,发现真有多个服务依赖的证书在当天早上过期。使用如下命令尝试打开服务发现不分服务可以打开,不分服务无法打开。

1万+

计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。题目来源:PAT乙级练习题)

题目:本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。(题目来源:PAT乙级练习题) 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 1.由于 A 是不超过 1000 位的正整数,所以不能用i

qq_45928520的博客 3088

运放电路实战:5分钟搞定加法器与减法器的电路设计与调试(附避坑指南)

本文从实战角度出发,详细讲解了运算放大器加法器与减法器的电路设计与调试方法。针对加法器,重点分析了利用“虚地”特性简化设计和选型要点;对于减法器,则深入剖析了决定精度的核心——电阻匹配问题,并提供了使用电阻网络等提升共模抑制比的实用策略。文章还分享了从仿真到实物焊接的完整流程与常见避坑技巧,帮助电子爱好者快速掌握这两种基础运放电路。

weixin_28323057的博客 466

PAT乙级-1017 A除以B (20分)

题目: 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 17636684150141093...

卷子的博客 1431

Vue3项目实战:CKEditor5富文本编辑器从安装到隐藏不需要的功能

本文详细介绍了在Vue3项目中集成并深度定制CKEditor5富文本编辑器的完整流程。通过分析其模块化架构,指导开发者从标准构建出发,移除图片、表格等冗余插件,创建专属轻量构建,从而显著减小打包体积并提升用户体验。文章结合实战代码,涵盖了环境搭建、自定义构建配置、高级优化技巧等关键步骤。

weixin_29016833的博客 283

AI辅助专利撰写实战:用Codex 30分钟生成发明专利初稿

这次我们来看一个用 Codex 从零开始撰写发明专利的实战项目。对于技术研发人员、产品经理或初创团队来说,专利申请是保护创新成果、构建技术壁垒的关键一步。然而,撰写一份高质量的专利申请书,尤其是权利要求书和说明书,往往需要专业的法律和技术语言,耗时耗力。这个项目演示了如何利用 AI 工具 Codex,在短时间内生成一份结构完整、逻辑清晰、具备授权潜力的专利申请文件初稿。 整个过程的核心不是让 AI 完全替代专利代理人,而是将其作为强大的“技术翻译”和“内容生成”助手。它能将你的技术构思、流程图、核心算法或产

weixin_32181267的博客 414

PAT 乙级 1017 A除以B (20 分)

题目:PAT 乙级 1017 A除以B (20 分) 经验总结: 要特殊考虑当被除数长度为1时的情况。 记:注意运算符的优先顺序,得先括号,否则有个测试点错误。。。 C++代码: #include<bits/stdc++.h> using namespace std; int main() { string a; int b; cin>>a>>b;...

努力努力再努力 291

基于STM32单片机设计的智能水温控制系统

本项目研究并实现了一种基于STM32单片机的智能水温控制系统。系统以STM32F103RCT6作为主控制器,通过DS18B20温度传感器实时采集水温数据,利用PID控制算法精确调节5V直流防水型70W加热棒的功率输出,确保水温恒定在设定范围内。此外,采用OLED显示屏显示当前水温和预设上限阀值,并集成ESP8266-WiFi模块与自研Android手机APP进行远程通信和控制。用户可通过本地按键或手机APP设置温度阀值,实现实时监控与智能化管理。整个系统设计旨在提高水资源利用效率,提升生活及工业用水环境的舒

8789

PAT 乙级 1017 A除以B(20分)

PAT 乙级 1017 A除以B 题目 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 原题链接 思路: 按照手动除法的步骤一步一步往下进行,注意要考虑到被除数只有一位数的情况,此处有一个测试点。 源码: #include<stdio.h> #include<string.h> int main() { char a[1010]; int b, q, r; scanf("%s %d", a, &

a123456chj的博客 192

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

PAT(乙级)1017.A除以B(20)

PAT 1017.A除以B(20) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 1...

乐行僧的博客 274

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

PAT乙级 1017. A除以B (20)

1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。 输入格式: 输入在1...

anqiu4023的博客 114

PAT乙级—1017 A除以B (20分)

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3...

lonely喆的博客 162

PAT乙级1017 A除以B (20 分)测试点2

连接:https://pintia.cn/problem-sets/994805260223102976/problems/994805305181847552 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: ...

weixin_43333890的博客 1207

PAT乙级1017:A除以B(20)

题目 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 结尾无空行 输出样例: 17636684150141093474 3 结尾无空行 解题思路 读入A和B; 分类计算,如果是两个一位数相除,则直接输出,不涉及

博客简介 737

PAT乙级刷题之路1017 A除以B (20分)

1017 A除以B (20分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 176366...

derbi123123的博客 759

PAT乙级 1017 A除以B (20分)

1017A除以B(20分) 本题要求计算A/B,其中A是不超过 1000 位的正整数,B是 1 位正整数。你需要输出商数Q和余数R,使得A=B×Q+R成立。 输入格式: 输入在一行中依次给出A和B,中间以 1 空格分隔。 输出格式: 在一行中依次输出Q和R,中间以 1 空格分隔。 输入样例: 1...

qq_43484853的博客 244

PAT乙级之1017 A除以B (20分)

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 链接:1017 A除以B #include <iostream> #include <cst

six bytes的博客 237

PAT 乙级 1017 A除以B (20分)

我的个人网站Cheese的个人主页http://www.cheese.ren/ 文章来源PAT 乙级 1017 A除以B-Cheese的个人博客PAT 乙级 1017 A除以Bhttp://blog.cheese.ren/37 欢迎交换友链 :-) #include<bits/stdc++.h> usingnamespacestd; intmain(){ chara_char[1000]; intb; while(cin>&gt...

起司Cheese的博客 121

[PAT乙级] 1017 A除以B(20)

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 176366841501...

Light Blog 736

PAT乙级-1017 A除以B (20 分)

1017 A除以B (20 分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。 输入格式: 输入在一行中依次给出 A 和 B,中间以 1 空格分隔。 输出格式: 在一行中依次输出 Q 和 R,中间以 1 空格分隔。 输入样例: 123456789050987654321 7 输出样例: 17...

weixin_44879975的博客 173
上一篇: PAT乙级.1013. 数素数 (20)
下一篇: PAT甲级.1020. Tree Traversals (25)
R11happy
博客等级 码龄11年 6粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值