สมมุติว่าเรามีเลขตัวเดียว เราต้องหาผลรวมของหลักและผลคูณของหลัก หลังจากนั้นให้หาความแตกต่างระหว่างผลรวมและผลิตภัณฑ์ ดังนั้นหากตัวเลขคือ 5362 ผลรวมคือ 5 + 3 + 6 + 2 =16 และ 5 * 3 * 6 * 2 =180 ดังนั้น 180 – 16 =164
ในการแก้ปัญหานี้ ให้นำตัวเลขแต่ละหลักมาบวกและคูณกัน จากนั้นคืนค่าส่วนต่าง
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
int subtractProductAndSum(int n) {
int prod = 1;
int sum = 0;
for(int t = n;t;t/=10){
sum += t % 10;
prod *= t % 10;
}
return prod - sum;
}
};
main(){
Solution ob;
cout << ob.subtractProductAndSum(5362);
} อินพุต
5362
ผลลัพธ์
164