ACM1230_火星A+B(进位的运算)

//只要看懂火星A+B的进位关系就好了
#include<stdio.h>
int p[]={,,,,,,,,,,,,,,,,,,,,,,,,,};
int main()
{
int a[],b[],sum[];
int m,n,i,j,k,add,x,y,max;
char c;
while()
{
for(i=;i<=;i++)//此处用于初始化
{
a[i]=;b[i]=;sum[i]=;
}
for(i=;i<=;i++)//对a的输入进行处理
{
scanf("%d%c",&a[i],&c);//将‘,’给过滤掉
if(c==' ')break;
}
m=i;//对a的长度进行存储
for(i=;i<=;i++)//对b的输入进行处理
{
scanf("%d%c",&b[i],&c);////将‘,’给过滤掉
if(c=='\n')break;
}
n=i;//对b的长度进行存储
if(a[]==&&b[]==)break;//判断是否结束这个程序
k=m>n?m:n;//比较a,b升序的大小
for(i=,add=,max=k;i<=max;i++)//add 当作进位 值
{
if(m>=)x=a[m--];//从低位进行操作 ,并取出值
else x=;
if(n>=)y=b[n--];//从低位进行操作 并取出值
else y=;
sum[k--]=(x+y+add)%p[i];//进行火星A+B的操作
add=(x+y+add)/p[i];//计算下一个进位的值
}
sum[]=add;
if(sum[]!=)printf("%d,",sum[]);
for(i=;i<max;i++)
printf("%d,",sum[i]);
printf("%d\n",sum[max]);
}
return ;
}
ACM1230_火星A+B(进位的运算)的更多相关文章
- A + B Again 2057 有符号的64进位的运算
Problem Description There must be many A + B problems in our HDOJ , now a new one is coming.Give you ...
- [c++]大数运算1---利用C++ string实现任意长度正小数、整数之间的加减法
一.概述 本文属于大大维原创,未经笔者本人允许,严禁转载!!! C/C++中的int类型能表示的范围是-2E31-2E31–1.unsigned类型能表示的范围是0-2E32–1,即 0-429496 ...
- [c++]大数运算---利用C++ string实现任意长度正小数、整数之间的加减法
本文为大大维原创,最早于博客园发表,转载请注明出处!!! 一.概述 C/C++中的int类型能表示的范围是-2E31-2E31–1.unsigned类型能表示的范围是0-2E32–1,即 0-4294 ...
- 位运算总结(Bit Operation)
位运算 数字用二进制表示后的运算 无论是有符号,无符号还是其他各种类型的数.它们之间的转换的基石就是二进制的表达式没有发生改变,变得只是转换的表达式. 1.简单的布尔运算 Boolean algebr ...
- [LeetCode] Sum of Two Integers 两数之和
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. Exam ...
- 汇编语言标志位 含义 NV UP EI NG NZ AC PE CY
缩写原意: Overflow of = OV NV [No Overflow] Direction df = DN (decrement) UP (increment) Interrupt if = ...
- [CareerCup] 18.1 Add Two Numbers 两数相加
18.1 Write a function that adds two numbers. You should not use + or any arithmetic operators. 这道题让我 ...
- 用c++实现高精度加法
c++实习高精度加法 最近遇到一个c++实现高精度加法的问题,高精度问题往往十复杂但发现其中的规律后发现并没有那么复杂,这里我实现了一个整数的高精度加法,主要需要注意以下几点: 1:将所需输入的数据以 ...
- X86寄存器全称
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
随机推荐
- ROW_NUMBER () 与 PARTITION组合拳
--在一个Book表里面里有字段AuthorID与Author表关联,现在要求按PublishDate字段倒序排列,列出每个作者的前五本书.要求有没有一条语句搞定的--可用游标或者临时表--最好解决方 ...
- SqlServer中的merge操作,相当地风骚
今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在technet上搜索发现别有洞天,原来是另外一个sql关键字,t-sql的语法 ...
- 获取SqlServer当前链接数
1.提供有关 Microsoft SQL Server 数据库引擎实例中的当前用户.会话和进程的信息,显示所有session sp_who 2.针对 SQL Server 上的每个经过身份验证的会话返 ...
- Delphi 类方法和普通方法的区别 .
//类声明 TMyClass = class public class procedure MyProc; //类方式 constructor Create; //Crea ...
- 虚拟机 Linux 系统增加换页空间
想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间.添加swap交换空间的步骤 ...
- wireshark添加用户执行
默认情况下,访问网络端口需要root权限,而wireshark的只是/usr/share/dumpcap的一个UI,/usr/share/dumpcap需要root权限,所以没法non-root用户无 ...
- 嵌入式web server——Goahead启用SSL
前言 之前已经介绍过如何把goahead移植到linux平台,现在再介绍goahead应用SSL的一些关键要点.因为此博文是继承于上一篇关于移植的博文,有不明白的请先回看.移植篇点这里. 移植环境 g ...
- linux创建守护进程
守护进程deamon 是一个后台进程,无需用户输入就能运行,用来在系统后台提供某种服务. 常见的守护进程有Wbe服务器.邮件服务器以及数据库服务器等等.守护进程不能控制终端,所以任何的输入和输出都需要 ...
- WPF DataGrid 行头小三角
<DataTemplate x:Key="RowHeaderTemplate"> <StackPanel Orientation="Horizontal ...
- JavaScript学习心得(八)
Cookie是Netscape发明的技术,是动态网站必不可少的部分,用于浏览器请求Web页面的超文本传输协议是一种无状态的协议. 两种方法维护状态:使用会话(session)(使用服务器技术实现,数据 ...