โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)ในแต่ละขั้นตอน ให้เลือกเลขหลักฐานสิบที่ไม่เป็นศูนย์ซึ่งมีอยู่ในตัวเลขปัจจุบัน แล้วลบเลขหลักนั้นออก ตัวเลขที่เลือกจะมาจากค่าปัจจุบันหลังจากแต่ละขั้นตอน ค้นหาจำนวนขั้นตอนน้อยที่สุดที่ต้องใช้เพื่อให้ได้ศูนย์
เขียนฟังก์ชัน removing_digits(n)
อินพุต
n: จำนวนเริ่มต้นที่เป็นบวก
เอาต์พุต
คืนค่าจำนวนขั้นตอนการลบที่น้อยที่สุด
เงื่อนไข
1 ≤ n ≤ 1,000,000 การลบศูนย์ไม่ถือว่าเป็นการเดินหมากที่มีประโยชน์และไม่อนุญาตให้ทำ
ตัวอย่าง
อินพุต:
n = 14
ผลลัพธ์ที่คาดหวัง:
expected = 3
อินพุต:
long long n = 14;
ผลลัพธ์ที่คาดหวัง:
long long expected = 3;
อินพุต:
long n = 14;
ผลลัพธ์ที่คาดหวัง:
long expected = 3;
คำอธิบาย
14 → 10 → 9 → 0 ใช้สามขั้นตอน ไม่สามารถลบเลขหลักใดในขั้นแรกเพื่อให้ถึงศูนย์ได้ในสองขั้นตอน
อินพุต:
n = 7
ผลลัพธ์ที่คาดหวัง:
expected = 1
อินพุต:
long long n = 7;
ผลลัพธ์ที่คาดหวัง:
long long expected = 1;
อินพุต:
long n = 7;
ผลลัพธ์ที่คาดหวัง:
long expected = 1;
คำอธิบาย
ลบเลขหลักเดียวที่มีอยู่คือ 7 เพื่อให้ได้ 0 ทันที
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน