Một số được gọi là số Gapful khi:
Nó có ít nhất ba chữ số, và
Nó chia hết cho số được tạo bằng cách ghép chữ số đầu và chữ số cuối lại với nhau
Ví dụ:
1053 là số Gapful vì có 4 chữ số và chia hết cho 13. 135 là số Gapful vì có 3 chữ số và chia hết cho 15.
Nhiệm vụ của chúng ta là viết chương trình trả về số Gapful gần nhất với số đầu vào.
Hãy viết mã:
const n = 134; // nhận chuỗi số, trả về boolean const isGapful = (numStr) => { const int = parseInt(numStr); return int % parseInt(numStr[0] + numStr[numStr.length - 1]) === 0; }; // hàm chính -- nhận số, trả về số const nearestGapful = (num) => { if(typeof num !== 'number'){ return -1; } if(num <= 100){ return 100; } let prev = num - 1, next = num + 1; while(!isGapful(String(prev)) && !isGapful(String(next))){ prev--; next++; }; return isGapful(String(prev)) ? prev : next; }; console.log(nearestGapful(n));Kết quả đầu ra trong console:
135