在 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