1001. A+B Format (20)
来源:互联网 发布:淘宝能赚到钱吗 编辑:程序博客网 时间:2024/06/09 14:52
1. 原题链接
1001. A+B Format
2. 理解题目
给出数字a,b,求a+b并从右往左每3个数字用逗号隔开
3. 解题思路
[思路1]
先求出数字c,如果是负数先输出-号并对c取负变正,然后不断求余并保存在一个新数组a中;假设c=2378562,我们知道结果应该是 2,378,562,对应a[ ]内容如下:
然后我们令i=6,输出a[i]并执行i–;我们发现当i是3的倍数且i不是0的时候,输出”,”;
[思路2]
因为a,b不超过10,所以相加的结果不超过7位数字,所以需要添加逗号的情况只有当c是7位或者4位时,其他情况直接输出即可;
4. AC代码
//【解法1】#include<cstdio>const int maxn=10;int main(){ int a,b,c; scanf("%d%d",&a,&b); c=a+b; if(c<0) {printf("-");c=-c;} int ans[maxn];int bit=0; do{ ans[bit++]=c%10; //倒序存储0-(bit-1) c/=10; }while(c); for(int i=bit-1;i>=0;i--){ printf("%d",ans[i]); if(i%3==0&&i) printf(","); } }//【解法2】#include<cstdio>const int maxn=10;int main(){ int a,b,c; scanf("%d%d",&a,&b);c=a+b; if(c<0) {printf("-");c=-c;} if(c>=1000000) printf("%d,%03d,%03d\n",c/1000000,c/1000%1000,c%1000); else if(c>=1000) printf("%d,%03d\n",c/1000,c%1000); else printf("%d\n",c);}
阅读全文
0 0
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- 1001. A+B Format (20)
- PHP微信支付开发
- [自学]Java发展史
- soj1303 KM算法
- linux--有名管道
- Depth-first Search -- Leetcode problem394. Decode String
- 1001. A+B Format (20)
- Android_SQL详解
- Linux日常
- java运行原理
- RBAC用户角色权限设计方案
- 机器学习-学习笔记 Cifar10(普适物体识别)
- Zookeepr和Hadoop,Hbase的关系
- mysql 有则更新无则插入
- PHP 购物车 session (ThinkPHP)