博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 2057 A + B Again
阅读量:5239 次
发布时间:2019-06-14

本文共 1301 字,大约阅读时间需要 4 分钟。

不得不说今天做的题怎么都这么坑呢。这道题若是要一个标准的程序员来做的话,就相当于hdu上面的第一个题一样,毫无意义。。

但是我居然WA了,看到这个题的第一反应就是,要把16# ——>10#,然后再把10# ——>16#,来做,以为这是一个进制的转换,最后看博客才知道,原来可以直接输入输出16#,不禁觉得自己好傻啊 ^-^ 

下面是刚开始愚蠢的做法:

#include 
#include
void p3(int n)//10#->16#{ int a[20],i=0; int flag = 0; if(n<0) { flag = 1; n = -n;} if(n==0) printf("0"); while(n!=0) { a[i++]=n%16; if(a[i-1]>=10) a[i-1]=a[i-1]-10+65; n=n/16; } if(flag==1) printf("-"); for(i=i-1;i>=0;i--) if(a[i]>=10) printf("%c",a[i]); else printf("%d",a[i]); printf("\n");}int q3(char b[])//16#->10#{ int i=0,sum=0; int flag = 0; for(i=0;b[i]!='\0';i++) { if(b[i]>='A'&&b[i]<='F') sum=sum*16+b[i]-55; else if(b[i]>='0'&&b[i]<='9') sum=sum*16+b[i]-'0'; else { if(b[i]=='-') flag = 1; } } if(flag == 1) return -sum; else return sum;}int main(){ char a[20],b[20]; while(~scanf("%s%s",a,b)) { int sum1 = q3(a); int sum2 = q3(b); // printf("sum1 = %d sum2 = %d\n",sum1,sum2); int sum = sum1+sum2; p3(sum); } return 0;}
下面是正确的代码:

#include
int main(){ __int64 a,b,c; while(~scanf("%I64X %I64X",&a,&b)) { c = a+b; if(c>=0) printf("%I64X\n",c); else printf("-%I64X\n",-c); } return 0;}
下面是别人的博客:

http://blog.csdn.net/tigerisland45/article/details/51828341

附上一张截图:

转载于:https://www.cnblogs.com/qie-wei/p/10160279.html

你可能感兴趣的文章
PHPStorm2017设置字体与设置浏览器访问
查看>>
Django 相关
查看>>
git init
查看>>
训练记录
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Hive教程(1)
查看>>
第16周总结
查看>>
C#编程时应注意的性能处理
查看>>
Fragment
查看>>
比较安全的获取站点更目录
查看>>
苹果开发者账号那些事儿(二)
查看>>
使用C#交互快速生成代码!
查看>>
UVA11374 Airport Express
查看>>
P1373 小a和uim之大逃离 四维dp,维护差值
查看>>
NOIP2015 运输计划 树上差分+树剖
查看>>
P3950 部落冲突 树链剖分
查看>>
读书_2019年
查看>>
读书汇总贴
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>
MPT树详解
查看>>