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 整数减法【大数】相关推荐

  1. 信息学奥赛一本通(1169:大整数减法)

    1169:大整数减法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 20463     通过数: 11820 [题目描述] 求两个大的正整数相减的差. [输入] ...

  2. 信息学奥赛一本通(c++):1169:大整数减法

    一.题目 1169:大整数减法 时间限制: 1000 ms         内存限制: 65536 KB [题目描述] 求两个大的正整数相减的差. [输入] 共2行,第1行是被减数a,第2行是减数b( ...

  3. 1.6 编程基础之一维数组 11 大整数减法

    1.6编程基础之一维数组 11 大整数减法 方法二  http://noi.openjudge.cn/ch0106/11/ 1169:大整数减法 http://ybt.ssoier.cn:8088/p ...

  4. 信息学奥赛一本通:1169:大整数减法

    1169:大整数减法 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 37499     通过数: 21341 [题目描述] 求两个大的正整数相减的差. [输入] ...

  5. 1169:大整数减法

    1169:大整数减法 [题目描述] 求两个大的正整数相减的差. [输入] 共2行,第1行是被减数a,第2行是减数b(a > b).每个大整数不超过200位,不会有多余的前导零. [输出] 一行, ...

  6. 大整数减法(超过整型的表示范围)

    算法思想:预处理输入的整数字符串,去掉开头的'0',然后减法操作,减法操作过程中,如果被减数小于减数,则交换两个数 赋值给被减数和减数变量,始终保持 大数减小数.最后 再 根据 是否交换赋值 来 确定 ...

  7. C语言实现超长整数减法

    [问题描述] 编写程序实现两个超长正整数(每个最长80位数字)的减法运算. [输入形式] 从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083). 1. 第一行是超长正整数A: 2. 第二行 ...

  8. 大整数减法c语言_C语言学习笔记(一)

    第一节 头文件 #include<stdio.h> ->编译预处理文件 注释 单行注释的使用 -> // 多行注释的使用 -> / 注释内容 / 定义函数 函数首部 in ...

  9. 大整数减法c语言_3.2 C语言运算符和表达式

    01基本的算术运算符 1.+ 正号运算符 2.- 负号运算符 3.* 乘法运算符 4./ 除法运算符 5.% 求余运算符 6.+ 加法运算符 7.- 减法运算符 读者应该特别注意+和-在不同情况下的含 ...

最新文章

  1. JAVA SE学习day_11:集合的相关应用、增强型for循环、foreach方法、数组与集合的相互转换
  2. MetaPhlAn 2:宏基因组进化分析
  3. 【iOS】iOS 调试快速定位程序在哪崩溃
  4. javascript自定义事件应用实例
  5. NVelocity标签设置缓存的解决方案
  6. onpagefinished等了很久才执行_互联网职业经理人的素养(二):执行力
  7. nginx优化配置选项
  8. Thinkphp3.2.3 SQL注入漏洞
  9. 计算机在室内设计的应用,计算机辅助设计软件在室内设计教学中的应用
  10. 简单的sql注入之2WP
  11. 如何写一份前端开发简历
  12. 如何用python爬取股票数据选股_用python爬取股票数据
  13. 用 Python 画哆啦 A 梦
  14. Hacked?软件监控邮箱账号是否存在数据泄露情况
  15. 物联网基础知识:IMSI号介绍与解析
  16. CTF-综合测试(高难度)【超详细】
  17. AndroidStudio运行项目报build\intermediates下文件错误
  18. JavaScript起源及发展
  19. AJax 中的 xhr.states 和 xhr.status
  20. CSS基础(14)- 更多的样式

热门文章

  1. python模块讲解_python中常用模块详解一
  2. C++接收字符串数组_C语言处理字符串的7个函数
  3. socket 函数 setsockopt()用法
  4. 【我的相册】2018.2.15-年夜饭
  5. JavaWeb——jsp原理
  6. Cocos2d-x 多分辨率适配完全解析
  7. C#音视频处理开源项目收录
  8. 55个javascript经典用法
  9. 用python画大白圣诞快乐呦
  10. Linux内核 触摸板,Linux下关闭触摸板和触摸杆