In the 22nd Century, scientists have discovered intelligent residents live on the Mars. Martians are very fond of mathematics. Every year, they would hold an Arithmetic Contest on Mars (ACM). The task of the contest is to calculate the sum of two 100-digit numbers, and the winner is the one who uses least time. This year they also invite people on Earth to join the contest.

As the only delegate of Earth, you're sent to Mars to demonstrate the power of mankind. Fortunately you have taken your laptop computer with you which can help you do the job quickly. Now the remaining problem is only to write a short program to calculate the sum of 2 given numbers. However, before you begin to program, you remember that the Martians use a 20-based number system as they usually have 20 fingers. 


Input:
You're given several pairs of Martian numbers, each number on a line. 
Martian number consists of digits from 0 to 9, and lower case letters from a to j (lower case letters starting from a to present 10, 11, ..., 19). 
The length of the given number is never greater than 100.

Output:
For each pair of numbers, write the sum of the 2 numbers in a single line.

Sample Input:

1234567890
abcdefghij
99999jjjjj
9999900001

Sample Output:

bdfi02467j
iiiij00000 题目意思:二十进制加法运算 。。。。我的代码:
 #include<stdio.h>
#include<string.h>
int a[],b[],c[];
char x[],s[],t[];
int main()
{
int i,j,k,len1,len2,len;
while(scanf("%s%s",x,s)!=EOF)
{
memset(a,,sizeof(a));
memset(b,,sizeof(b));
memset(c,,sizeof(c));
len1=strlen(x);
len2=strlen(s);
if(len1>len2)
len=len1;
else
len=len2;
i=;
for(j=len1-; j>=; j--)
{
if(x[j]<=''&&x[j]>='')
a[i++]=x[j]-'';
else
a[i++]=x[j]-;
}
i=;
for(j=len2-; j>=; j--)
{
if(s[j]<=''&&s[j]>='')
b[i++]=s[j]-'';
else
b[i++]=s[j]-;
}
for(i=; i<len; i++)
{
c[i]=c[i]+a[i]+b[i];
if(c[i]>)
{
c[i+]=c[i]/;
c[i]=c[i]%;
}
}
i=len;
while(!c[i])///000001这种情况,0不能输出,将0跳出
{
i--;
if(i==-)
{
printf("");
break;
}
}
k=;
for(j=i; j>=; j--)
{
if(c[j]>=&&c[j]<=)
t[k++]=c[j]+'';
else
t[k++]=c[j]+;
}
for(j=; j<k; j++)
printf("%c",t[j]);
printf("\n"); }
return ;
}

大佬的代码是这样的:

 #include<bits/stdc++.h>///学习:可以将要输出的内容写入一个字符数组之中,输出在字符数组中的位置即可
int main()
{
char a[],b[],s[]="0123456789abcdefghij";
int c[],i,j,k,p,q;
while(scanf("%s%s",a,b)!=EOF){
memset(c,,sizeof(c));
k=;
p=strlen(a);
q=strlen(b);
j=q-;
for(i=p-;i>=||j>=;i--){
if(i>=){
if(a[i]-'a'>=)
c[k]+=a[i]-'a'+;
else
c[k]+=a[i]-'';
}
if(j>=){
if(b[j]-'a'>=)
c[k]+=b[j]-'a'+;
else
c[k]+=b[j]-'';
}
if(c[k]>=){
c[k]%=;
c[k+]+=;
}
j--;
k++;
}
if(c[k]==)
k-=;
for(i=k;i>=;i--)
printf("%c",s[c[i]]);
printf("\n");
}
return ;
}
学习了
 

Martian Addition的更多相关文章

  1. [ACM] ZOJ Martian Addition (20进制的两个大数相加)

    Martian Addition Time Limit: 2 Seconds      Memory Limit: 65536 KB   In the 22nd Century, scientists ...

  2. ZOJ Martian Addition

    Description In the 22nd Century, scientists have discovered intelligent residents live on the Mars. ...

  3. ZOJ Problem Set - 1205 Martian Addition

    一道简单题,简单的20进制加减法,我这里代码写的不够优美,还是可以有所改进,不过简单题懒得改了... #include <stdio.h> #include <string.h> ...

  4. ZOJ 1205 Martian Addition

    原题链接 题目大意:大数,20进制的加法计算. 解法:convert函数把字符串转换成数组,add函数把两个大数相加. 参考代码: #include<stdio.h> #include&l ...

  5. POJ题目细究

    acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP:  1011   NTA                 简单题  1013   Great Equipment     简单题  102 ...

  6. 【转】POJ百道水题列表

    以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...

  7. [LeetCode] Range Addition 范围相加

    Assume you have an array of length n initialized with all 0's and are given k update operations. Eac ...

  8. iOS 之 SVN提交错误:"XXX" is scheduled for addition, but is missing

    今天使用SVN提交项目时,出现了这样的提示:"XXX" is scheduled for addition, but is missing.(无关紧要的东西用XXX代替). 看报错 ...

  9. POJ 2948 Martian Mining

    Martian Mining Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 2251 Accepted: 1367 Descri ...

随机推荐

  1. mysql 支持四字节设置

    设置文件mysql/bin/my.ini[mac用户在ect文件夹里创建文件my.cnf] 添加以下代码: [mysqld] character-set-server=utf8mb4

  2. 关于Hibernate基于version的乐观锁

    刚刚接触SSH框架,虽然可能这个框架已经比较过时了,但是个人认为,SSH作为一个成熟的框架,作为框架的入门还是可以的. 马马虎虎学完了Hibernate的基础,总结一点心得之类的. 学习Hiberna ...

  3. NoSQL数据库浅析

    NoSQL(NoSQL = Not Only SQL ):非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称. 今天我们可以通过第 ...

  4. ubuntu下安装memcached和PHP的memcache扩展

    依赖包和软件包下载地址: Libevent:https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/li ...

  5. [SHELL]软件管理

  6. 颜色rgba、16进制、10进制互相装换

    rgba转16进制: function RGBToHex(rgb){ var regexp = /[0-9]{0,3}/g; var re = rgb.match(regexp);//利用正则表达式去 ...

  7. CentOS7 LNMP+phpmyadmin环境搭建(三、安装phpmyadmin)

    之前我们已经安装了lnmp的环境,现在让我们来安装phpmyadmin. 跟前一样,yum默认的库里是没有phpmyadmin的,我们需要从epel库里进行安装,之前已经安装过epel的朋友就可以直接 ...

  8. ruby 正则表达式Regexp

    ruby正则表达式在线编辑器:rubular 一般规则: /a/匹配字符a.      /\?/匹配特殊字符?.特殊字符包括^, $, ? , ., /, \, [, ], {, }, (, ), + ...

  9. 如何防止index.html首页被篡改

    近期发现公司网站首页文件经常被篡改为indax.php或indax.html,导致网站的功能无法正常使用,百度搜索关键词,在显示结果中点击公司网站,打开后跳转到别的网站上去了,尤其我们在百度做的推广, ...

  10. python--re模块(正则表达式)

    RE是什么 正则 表达 式子 就是一些带有特殊含义的符号或者符号的组合 它的作用是对字符串进行过滤 在一堆字符串中找到你所关心的内容 你就需要告诉计算机你的过滤规则是什么样 通过什么方式来告诉计算机 ...