本文共 546 字,大约阅读时间需要 1 分钟。
给出两个数a,b,例如a=123,b = 456这两个数,算出这两个数相加过程中产生了多少次进位?
思路就是最简单的,从个位开始加,然后算出每次算完的进位用c来存储,c只能为0或者1,然后算完之后C更新,如果C==1,表示有进位,然后全局变量ans(存储最终进位结果的)++;
技巧性的东西在于如何用一个简单的循环做到从个位数相加?
请详细看代码 可能上段说的不是很明白,但是看了代码就懂了 = =#includeusing 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< <
说明如上是正确的 = =