6
เศษส่วนสามารถลดความซับซ้อนได้ด้วยการยกเลิกแบบผิดปกติหรือไม่?
การยกเลิกที่ผิดปกติ (จาก Wolfram Alpha): การยกเลิกที่ผิดปกติคือ "การยกเลิก" ของตัวเลขของ a และ b ในตัวเศษและตัวหารของเศษส่วน a / b ซึ่งส่งผลให้เศษส่วนเท่ากับต้นฉบับ โปรดทราบว่าหากมีการนับจำนวนหลายหลัก แต่แตกต่างกันของตัวเลขหนึ่งหลักขึ้นไปในตัวเศษและตัวส่วนนั้นจะมีความกำกวมเกี่ยวกับตัวเลขที่จะยกเลิกดังนั้นจึงเป็นการง่ายที่สุดในการแยกกรณีดังกล่าวออกจากการพิจารณา ลิงค์ a / bกล่าวง่ายๆว่าคุณมีเศษส่วน หากคุณสามารถยกเลิกตัวเลขในเศษส่วนเพื่อสร้างเศษส่วนอื่นc / dซึ่งเท่ากับต้นฉบับ ( a / b = c / d) การยกเลิกแบบผิดปกติสามารถใช้เพื่อทำให้เศษส่วนนั้นง่ายขึ้น ความท้าทายของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ป้อนสตริงเศษส่วนในรูปแบบa/bและเอาท์พุทหรือส่งกลับค่าความจริงหากเศษส่วนสามารถทำให้ง่ายขึ้นโดยใช้การยกเลิกแบบผิดปกติและค่าเท็จ aและbจะเป็นจำนวนเต็มบวกที่ไม่เป็นศูนย์เสมอ aและbจะมีตัวเลขสองหลักขึ้นไปเสมอ นอกจากนี้ตัวเลขทั้งหมดจากaหรือbจะไม่ถูกยกเลิก (คุณจะไม่ได้รับอินพุต12/21) อย่างน้อยหนึ่งหลักจากaและbจะถูกยกเลิกในแต่ละครั้ง (คุณจะไม่ได้รับอินพุต43/21) และผลลัพธ์สุดท้ายจะไม่เป็น0เช่นนั้นหรือa bโปรแกรมของคุณจะต้องยกเลิกตัวเลขทั่วไปทั้งหมดระหว่างaและb(เช่นใน1231/1234คุณต้องยกเลิก a 1, a 2และ a 3) หากมีความเป็นไปได้หลายทางในการยกเลิกให้เลือกหลักซ้ายสุดก่อน (515/25 …