P 1017
转跳点:
本题要求计算A /B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入格式:
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出格式:
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
终于升级到大整数操作了,内心一阵阵激动,认真看题就知道输入样例那玩意绝对超过了264了,斗宗强者恐怖至斯。int已经无法驾驭它了,我们需要开挂了。决定就是你了,去吧,字符串!
其实所谓的大数操作就是在模拟人手算的过程,而且这道题是化简后的大数除法。没有小数处理,直接取余数,除数只有一位大大削减了题目难度。只有两个要注意的点:
1.最高位小于除数时,需要对字符串的长度进行判断,如果长度位1则输出,否则跳过
2.记得每次取余和除法之前要加上余数,记得乘上10
唉,要是真的是大整数除法,就有点烧脑了,大家先自己写写,再看代码。(考虑要不要更一波大整数运算……)
代码:
C:
1 #include <stdio.h>
2 #include <stdlib.h>
3 #define MAXSIZE 1010
4
5 int main(void)
6 {
7 int Number, Quotient, Remainder;
8 char NumStr[MAXSIZE];
9
10 scanf("%s%d", NumStr, &Number);
11
12 Quotient = (NumStr[0] - '0') / Number;
13 if ((Quotient != 0 && NumStr[1] != '\0') || '\0' == NumStr[1])//特判第一位小于除数输出0 和 只有一位数的情况
14 {
15 printf("%d", Quotient);
16 }
17 Remainder = (NumStr[0] - '0') % Number;
18
19 //模拟带除法
20 for (int i = 1; '\0' != NumStr[i]; i++)
21 {
22 Quotient = (Remainder * 10 + NumStr[i] - '0') / Number; //取商,每一次需要加上上一位的余数
23 printf("%d", Quotient); //直接输出,懒得存储了
24 Remainder = (Remainder * 10 + NumStr[i] - '0') % Number;//取余,也需要加上上一位的余数
25 }
26 printf(" %d\n", Remainder);
27 return 0;
28 }
C
Python:
1 listt = list(input().split())
2 print(int(listt[0]) // int(listt[1]), end = ' ')
3 print(int(listt[0]) % int(listt[1]))
想哭(我想弃坑)
PAT不易,诸君共勉!
P 1017的更多相关文章
- HUST 1017 - Exact cover (Dancing Links 模板题)
1017 - Exact cover 时间限制:15秒 内存限制:128兆 自定评测 5584 次提交 2975 次通过 题目描述 There is an N*M matrix with only 0 ...
- Dancing Link --- 模板题 HUST 1017 - Exact cover
1017 - Exact cover Problem's Link: http://acm.hust.edu.cn/problem/show/1017 Mean: 给定一个由0-1组成的矩阵,是否 ...
- POJ 1017
http://poj.org/problem?id=1017 题意就是有6种规格的物品,给你一些不同规格的物品,要求你装在盒子里,盒子是固定尺寸的也就是6*6,而物品有1*1,2*2,3*3,4*4, ...
- 递推DP URAL 1017 Staircases
题目传送门 /* 题意:给n块砖头,问能组成多少个楼梯,楼梯至少两层,且每层至少一块砖头,层与层之间数目不能相等! 递推DP:dp[i][j] 表示总共i块砖头,最后一列的砖头数是j块的方案数 状态转 ...
- PAT乙级 1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- 【BZOJ】【1017】【JSOI2008】魔兽地图Dotr
树形DP 一开始想:f[i][j]表示以 i 为根的子树,花 j 块钱能得到的最高力量值,结果发现转移的时候没法保证叶子结点的数量限制TAT 只好去膜拜题解了……在这里贴两篇泛型背包的文章吧:< ...
- poj 1017 Packets 裸贪心
Packets Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 43189 Accepted: 14550 Descrip ...
- HUST 1017 Exact cover (Dancing links)
1017 - Exact cover 时间限制:15秒 内存限制:128兆 自定评测 6110 次提交 3226 次通过 题目描述 There is an N*M matrix with only 0 ...
- PAT-乙级-1017. A除以B (20)
1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过 ...
- PAT 1017
1017. Queueing at Bank (25) Suppose a bank has K windows open for service. There is a yellow line in ...
随机推荐
- Adroid ViewPage+GridView实现每页6个元素,三页滑动切换
//}//public class MainActivity extends Activity {// private static final float APP_PAGE_SIZE = 16.0f ...
- Android中利用正则表达式验证手机号是否合法
利用正则表达式来验证手机号是否合法,现在我们简单使用一下,这个在实际的应用中很实用. 例:在输入框中输入手机号,判断是否合法, MainActivity中: package com.example.m ...
- 如何配置nginx
Nginx安装手册 1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n gcc 安装nginx需要先将官网下载的源码进行编译,编译 ...
- 1-5SpringBoot操作之Spring-Data-Jpa(二)CRUD实现
本帖来演示下SpringBoot下,实用Spring-Data-Jpa来实现CRUD操作,视图层采用Freemarker 这里我们先把application.properties修改成applicat ...
- poj1861 network(并查集+kruskal最小生成树
题目地址:http://poj.org/problem?id=1861 题意:输入点数n和边数n,m组边(点a,点b,a到b的权值).要求单条边权值的最大值最小,其他无所谓(所以多解:(.输出单条边最 ...
- springboot常见注解 2020-01-19
1,@SpringBootApplication 是springboot的核心注解,用在启动类上,是由 @Configuration 加载spring,配置spring并启动spring容器; 启动容 ...
- POJ 1979 Red and Black 四方向棋盘搜索
Red and Black Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 50913 Accepted: 27001 D ...
- POJ 2386 Lake Counting 八方向棋盘搜索
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 53301 Accepted: 26062 D ...
- greenplum 存储过程 输出信息
raise notice 'just a simple output msg';
- Centos7关闭防火墙 设置开机启动
[root@nmserver-7 ~]# systemctl stop firewalld.service [root@nmserver-7 ~]# systemctl status firewall ...