在 C++ 中,检查 a + b = c 在删除 a、b 和 c 中的所有零后是否有效

c++server side programmingprogramming更新于 2024/9/23 3:00:00

假设我们有三个数字 a、b、c,我们必须检查在删除数字中的所有 0 后,a + b = c 是否有效。假设数字为 a = 102、b = 130、c = 2005,那么在删除 0 后,数字将是 a + b = c : (12 + 13 = 25) 这是正确的

我们将从一个数字中删除所有 0,然后在删除 0 后检查 a + b = c 是否有效。

示例

#include <iostream>
#include <algorithm>
using namespace std;
int deleteZeros(int n) {
   int res = 0;
   int place = 1;
   while (n > 0) {
      if (n % 10 != 0) { //如果最后一位数字不是 0
         res += (n % 10) * place;
         place *= 10;
      }
      n /= 10;
   }
   return res;
}
bool isSame(int a, int b, int c){
   if(deleteZeros(a) + deleteZeros(b) == deleteZeros(c))
      return true;
   return false;
}
int main() {
   int a = 102, b = 130, c = 2005;
   if(isSame(a, b, c))
      cout << "a + b = c is maintained";
   else
      cout << "a + b = c is not maintained";
}

输出

a + b = c is maintained

相关文章