Bailian3180 整数减法【大数】
3180:整数减法
总时间限制: 1000ms 内存限制: 65536kB
描述
两个十进制非负整数M和N,计算二者的差,既M-N。
M、N最多可以是长度为200位的整数。
输入
多组数据,每组数据先是一行表示M,然后一行表示N。M和N开头均无冗余的0。
输出
每行一个数,表示M-N,开头不能有冗余的0,既不能输出05这样的数,而应该直接输出5。
样例输入
9999
4567
0
1
样例输出
5432
-1
问题链接:Bailian3180 整数减法
问题简述:(略)
问题分析:大数减法问题,用字符数组模拟计算。
程序说明:(略)
参考链接:(略)
题记:(略)
AC的C++语言程序如下:
/* Bailian3180 整数减法 */#include <bits/stdc++.h>using namespace std;const int N = 200 + 1;
char a[N], b[N], c[N], ans[N];int main()
{while(~scanf("%s%s", a, b)) {int sign = 0;int lena = strlen(a);int lenb = strlen(b);if (lena == lenb) {if (strcmp(a, b) < 0) sign = 1;} else sign = lena < lenb ? 1 : 0;char *p, *q;if (sign) {p = b; q = a; swap(lena, lenb);}else p = a, q = b;memset(c, '0', lena - lenb);strncpy(c + lena - lenb, q, lenb);ans[lena] = '\0';int carry = 0;for (int i = lena - 1; i >= 0; i--) {int d = p[i] - c[i] + carry;if (d < 0) d += 10, carry = -1;else carry = 0;ans[i] = '0' + d;}p = ans;while (*p == '0') p++; // 去掉前缀0if (*p == '\0') p--; // 结果为0则输出0if (sign) printf("-");printf("%s\n", p);}return 0;
}
Bailian3180 整数减法【大数】相关推荐
- 信息学奥赛一本通(1169:大整数减法)
1169:大整数减法 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 20463 通过数: 11820 [题目描述] 求两个大的正整数相减的差. [输入] ...
- 信息学奥赛一本通(c++):1169:大整数减法
一.题目 1169:大整数减法 时间限制: 1000 ms 内存限制: 65536 KB [题目描述] 求两个大的正整数相减的差. [输入] 共2行,第1行是被减数a,第2行是减数b( ...
- 1.6 编程基础之一维数组 11 大整数减法
1.6编程基础之一维数组 11 大整数减法 方法二 http://noi.openjudge.cn/ch0106/11/ 1169:大整数减法 http://ybt.ssoier.cn:8088/p ...
- 信息学奥赛一本通:1169:大整数减法
1169:大整数减法 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 37499 通过数: 21341 [题目描述] 求两个大的正整数相减的差. [输入] ...
- 1169:大整数减法
1169:大整数减法 [题目描述] 求两个大的正整数相减的差. [输入] 共2行,第1行是被减数a,第2行是减数b(a > b).每个大整数不超过200位,不会有多余的前导零. [输出] 一行, ...
- 大整数减法(超过整型的表示范围)
算法思想:预处理输入的整数字符串,去掉开头的'0',然后减法操作,减法操作过程中,如果被减数小于减数,则交换两个数 赋值给被减数和减数变量,始终保持 大数减小数.最后 再 根据 是否交换赋值 来 确定 ...
- C语言实现超长整数减法
[问题描述] 编写程序实现两个超长正整数(每个最长80位数字)的减法运算. [输入形式] 从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083). 1. 第一行是超长正整数A: 2. 第二行 ...
- 大整数减法c语言_C语言学习笔记(一)
第一节 头文件 #include<stdio.h> ->编译预处理文件 注释 单行注释的使用 -> // 多行注释的使用 -> / 注释内容 / 定义函数 函数首部 in ...
- 大整数减法c语言_3.2 C语言运算符和表达式
01基本的算术运算符 1.+ 正号运算符 2.- 负号运算符 3.* 乘法运算符 4./ 除法运算符 5.% 求余运算符 6.+ 加法运算符 7.- 减法运算符 读者应该特别注意+和-在不同情况下的含 ...
最新文章
- JAVA SE学习day_11:集合的相关应用、增强型for循环、foreach方法、数组与集合的相互转换
- MetaPhlAn 2:宏基因组进化分析
- 【iOS】iOS 调试快速定位程序在哪崩溃
- javascript自定义事件应用实例
- NVelocity标签设置缓存的解决方案
- onpagefinished等了很久才执行_互联网职业经理人的素养(二):执行力
- nginx优化配置选项
- Thinkphp3.2.3 SQL注入漏洞
- 计算机在室内设计的应用,计算机辅助设计软件在室内设计教学中的应用
- 简单的sql注入之2WP
- 如何写一份前端开发简历
- 如何用python爬取股票数据选股_用python爬取股票数据
- 用 Python 画哆啦 A 梦
- Hacked?软件监控邮箱账号是否存在数据泄露情况
- 物联网基础知识:IMSI号介绍与解析
- CTF-综合测试(高难度)【超详细】
- AndroidStudio运行项目报build\intermediates下文件错误
- JavaScript起源及发展
- AJax 中的 xhr.states 和 xhr.status
- CSS基础(14)- 更多的样式