【算法竞赛】:进位数统计
2015-11-12 14:14
399 查看
题目
给出两个数a,b,例如a=123,b = 456这两个数,算出这两个数相加过程中产生了多少次进位?思路
思路就是最简单的,从个位开始加,然后算出每次算完的进位用c来存储,c只能为0或者1,然后算完之后C更新,如果C==1,表示有进位,然后全局变量ans(存储最终进位结果的)++;技巧性的东西在于如何用一个简单的循环做到从个位数相加?
请详细看代码
可能上段说的不是很明白,但是看了代码就懂了 = =
代码
[code]#include <iostream> using namespace std; int main(){ int a,b; while(cin>>a>>b&&(a!=0 &&b!=0)){ int c=0,ans=0; while(a!=0 || b!=0){ c=(a%10)+(b%10)+c>9?1:0; //注意这里后面一定要加上上一次运算产生的进位,这个技巧也用的很好 = = ans+=c; a/=10; b/=10; } cout<<ans<<endl; } }
运行截图:
说明如上是正确的 = =
相关文章推荐
- Java中String和StringBuffer,StringBuilder的区别小结
- Cocos2d-x内存管理之autorelease,addChild和removeFromParent
- MAC 安装Redis
- [ JS 进阶 ] 基本类型 引用类型 简单赋值 对象引用
- android适配器Adapter
- FastJson处理json数据时遇到一个问题
- 点滴文档
- popen,argc,argv, cprintf, snprintf,strcmp,write,read,strspn,strcspn,
- 尾递归与Continuation(Haskell描述)未完成
- iOS中unicode 转汉字
- js中的date.parse函数
- 判断当前app是不是default SMS app
- Android之WebView详解
- TexturePacker纹理打包打方法及技巧
- 嵌入式根文件系统的移植和制作详解
- 关于冷备份与热备份的对比
- INavigationAware接口示例
- con
- Java以struts2为例介绍如何实现图片上传
- ubuntu 下 eclipse 中文输入