您的位置:首页 > Web前端

Life Without Zeros

2016-05-17 19:02 295 查看
Life Without Zeros

Can you imagine our life if we removed all zeros from it? For sure we will have many problems.

In this problem we will have a simple example if we removed all zeros from our life, it's the addition operation. Let's assume you are given this equation a + b = c,
where a and b are positive integers, and c is
the sum of a and b. Now let's remove all zeros from this equation. Will the equation
remain correct after removing all zeros?

For example if the equation is 101 + 102 = 203, if we removed all zeros it will be 11 + 12 = 23 which
is still a correct equation.

But if the equation is 105 + 106 = 211, if we removed all zeros it will be 15 + 16 = 211 which
is not a correct equation.

Input

The input will consist of two lines, the first line will contain the integer a, and the second line will contain the integer b which
are in the equation as described above (1 ≤ a, b ≤ 109).
There won't be any leading zeros in both. The value of c should be calculated as c = a + b.

Output

The output will be just one line, you should print "YES" if the equation will remain correct after removing all zeros, and print "NO"
otherwise.

题意:a+b=c,去除a,b,c中的0,若等式还成立,输出“YES”,否则输出“NO”。

思路:定义一个函数,不断取余,去除0后再相加,最后判断等式是否成立。

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;

int change(int m){
int j=0;
int s=0;
int k[25];
while (m){
k[j++]=m%10;
m/=10;
}
for (int i=j-1;i>=0;i--){
if (k[i])
s=s*10+k[i];
}
return s;
}

int main(){
int a,b,c;
int x,y;
while (scanf("%d%d",&a,&b)!=EOF){
c=a+b;
x=change(c);
y=change(a)+change(b);
if (x==y)
printf("YES\n");
else
printf ("NO\n");
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: