ZOJ 1205 Martian Addition
题目大意:大数,20进制的加法计算。
解法:convert函数把字符串转换成数组,add函数把两个大数相加。
参考代码:
#include<stdio.h>
#include<string.h> char* Digit="0123456789abcdefghij";
void convert(char*,int*);
void add(int*,int*,int*);
void print(int*);
int main(){
char str1[101],str2[101];
while(scanf("%s",str1)!=EOF&&scanf("%s",str2)!=EOF){
int num1[101]={0},num2[101]={0},num3[102]={0};
convert(str1,num1);
convert(str2,num2);
add(num1,num2,num3);
print(num3);
} return 0;
} void convert(char* str, int* num){
int j,k;
k=0;
for(j=strlen(str)-1;j>=0;j--){
if(str[j]<='9'&&str[j]>='0')
num[k]=str[j]-'0';
if(str[j]<='j'&&str[j]>='a')
num[k]=str[j]-'W';
k++;
}
}
void add(int* num1, int* num2, int* num3){
int i,j=101,add=0,c=0;
for(i=0;i<101;i++){
add=num1[i]+num2[i]+c;
c=add/20;
num3[j]=add%20;
j--;
}
if(c==1)
num3[j]=1;
}
void print(int* num){
int i,j=0;
while(num[j]==0)j++;
if(j>101){
printf("0\n");
}
else{
for(;j<102;j++){
printf("%c",Digit[num[j]]);
}
printf("\n");
}
}
ZOJ 1205 Martian Addition的更多相关文章
- ZOJ Problem Set - 1205 Martian Addition
一道简单题,简单的20进制加减法,我这里代码写的不够优美,还是可以有所改进,不过简单题懒得改了... #include <stdio.h> #include <string.h> ...
- [ACM] ZOJ Martian Addition (20进制的两个大数相加)
Martian Addition Time Limit: 2 Seconds Memory Limit: 65536 KB In the 22nd Century, scientists ...
- ZOJ Martian Addition
Description In the 22nd Century, scientists have discovered intelligent residents live on the Mars. ...
- Martian Addition
In the 22nd Century, scientists have discovered intelligent residents live on the Mars. Martians are ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- C++解题报告 : 迭代加深搜索之 ZOJ 1937 Addition Chains
此题不难,主要思路便是IDDFS(迭代加深搜索),关键在于优化. 一个IDDFS的简单介绍,没有了解的同学可以看看: https://www.cnblogs.com/MisakaMKT/article ...
- [zoj] 1937 [poj] 2248 Addition Chains || ID-DFS
原题 给出数n,求出1......n 一串数,其中每个数字分解的两个加数都在这个序列中(除了1,两个加数可以相同),要求这个序列最短. ++m,dfs得到即可.并且事实上不需要提前打好表,直接输出就可 ...
- ZOJ题目分类
ZOJ题目分类初学者题: 1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 13 ...
随机推荐
- HDU 4888 Redraw Beautiful Drawings(2014 Multi-University Training Contest 3)
题意:给定n*m个格子,每个格子能填0-k 的整数.然后给出每列之和和每行之和,问有没有解,有的话是不是唯一解,是唯一解输出方案. 思路:网络流,一共 n+m+2个点 源点 到行连流量为 所给的 ...
- Windows7下U盘安装Ubuntu14.04双系统
1.准备工作 (1)下载Ubuntu14.04系统镜像文件,Ultraiso,EasyBcd,分区助手 Ubuntu14.04地址:http://www.ubuntu.com/download/des ...
- fetch VS AJAX
fetch('https://mywebsite.com/endpoint/', { method: 'POST', headers: { 'Accept': 'application/json', ...
- 父元素与子元素之间的margin-top问题(css hack)(转载)
情况: 父元素的盒子包含一个子元素盒子,给子元素盒子一个垂直外边距margin-top,父元素盒子也会往下走margin-top的值,而子元素和父元素的边距则没有发生变化. 解决方法: 1.修改父元素 ...
- C++全局变量在多个源代码文件中的使用
在比较大的项目中,如果需要使用全局变量,那么就需要注意一些全局变量声明.使用不当引起的问题了. 本篇文章主要内容有两个:普通全局变量.静态全局变量.全局常量. 1.普通全局变量:假设我们需要在多个不同 ...
- IOS导航栏的使用方法
本文是使用纯代码实现一个导航栏的效果.单击按钮并且产生事件.基本思路是: 1.创建一个导航栏(UINavigationBar对象) 2.创建一个导航栏集合(UINavigationItem对象) 3. ...
- Html.ActionLink , Url.Action
也来总结一下 以后省的忘了 都是从controller中获取到action名字返回 html.actionlink 返回的是带<a> 标签的超链接 url.action 是返回正常cont ...
- 华为V-ISA信誉安全体系:对付新型DDoS攻击的利器
华为Anti-DDoS解决方案基于华为颇具传统优势的专业软硬件平台开发,在防护机制中,引入先进的检测机制,提供了业内首创的“V-ISA”信誉安全体系,是业界唯一单机可提供超百G DDoS防御能 ...
- explain分析查询
参考以下文章,在此非常感谢原作者 explain分析查询
- 12-24 关于UIScroView 控件的学习
在iOS开发中,滚动视图(UIScrollView)通常用于显示内容尺寸大于屏幕尺寸的视图.滚动视图有以下两个主要作用: 让用户可以通过拖拽手势来观看想看到的内容 让用户可以通过捏合手势来放大或缩小观 ...