คุณอาจจำได้ในชั้นประถมศึกษาปีที่หนึ่งหรือสองโดยใช้แบบฟอร์มขยายเพื่อเรียนรู้เกี่ยวกับค่าของตัวเลข 123
มันง่ายที่จะอธิบายด้วยตัวอย่างเพื่อพิจารณาจำนวน ในรูปแบบที่ขยายจะแสดงเป็น100 + 20 + 3
ซึ่งช่วยให้จิตใจเด็กเห็นภาพสถานที่ มันชวนให้นึกถึงวิธีที่คุณพูดมัน: หนึ่งร้อย (บวก) ยี่สิบ (บวก) สาม
เราสามารถขยายที่ผ่านมานี้หน่วยที่มีทศนิยม: 2.718 => 2 + 0.7 + 0.01 + 0.008
ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้จำนวนจุดลอยตัวที่เป็นบวกหรือเป็นศูนย์ (สมมติว่ามันมีขนาดใหญ่หรือแม่นยำที่สุดเท่าที่ภาษาของคุณสามารถจัดการได้มันจะไม่เป็นเครื่องหมายทางวิทยาศาสตร์) หรือสตริงและพิมพ์ / ส่งคืน ตามที่อธิบายไว้ข้างต้น
คุณจำเป็นต้องมีช่องว่างระหว่างค่า+
's 2+.7+.01+.008
หรือศูนย์ก่อนจุดทศนิยมดังนั้นตัวอย่างข้างต้นอาจจะ ค่าที่จะเท่ากับศูนย์จะต้องละเว้น ( 101.01 => 100 + 1 + 0.01
) เว้นแต่อินพุตเป็นศูนย์ (ดูด้านล่าง)
ค่าไม่ควรมีมากกว่าหนึ่งศูนย์นำก่อนจุดทศนิยมหรือเลขท้ายใด ๆ หลังจากที่มัน (ไม่มีไม่มีของ: 0060, 0000.2, 30., 30.000, .0400
) อินพุตจะสอดคล้องกับสิ่งนี้ด้วย
เนื่องจากนักเรียนระดับแรกมีช่วงความสนใจสั้นรหัสของคุณจะต้องสั้นที่สุด
กรณีทดสอบ
0 => 0
6 => 6
0.99 => 0.9 + 0.09
24601 => 20000 + 4000 + 600 + 1
6.283 => 6 + 0.2 + 0.08 + 0.003
9000000.0000009 => 9000000 + 0.0000009