โจทย์ Backend-4 #2
ข้อที่ 4
โจทย์ #
ในโรงเรียนอนุบาลหมีน้อย คุณครูเป๋าตุงกำลังจะตัดเกรดให้กับเด็กๆ แต่คะแนนที่เด็ก ๆ มีช่างน้อยเหลือเกิน คุณครูเป๋าตุงเลยต้องบวกคะแนนให้เด็ก ๆ โดยจะบวกคะแนนกับคนที่ใกล้จะผ่านแต่คะแนนขาดไปหนิหน่อย โดยการเพิ่มคะแนนนี้เป็นการปัดคะแนนแบบมีนัยสำคัญ ซึ่งจะบวกคะแนนให้เฉพาะ คนที่มีคะแนนที่ห่างจากจำนวนที่เป็นผลคูณของ 5 ลำดับถัดไป (The next multiple of 5) ที่น้อยกว่า 3 และจะบวกให้เฉพาะคนที่มีคะแนนเกินตั้งแต่ 38 คะแนน (>=38) เท่านั้น และถ้าเข้าเงื่อนไขนี้ คะแนนที่เด็ก ๆ จะได้คะแนนเป็นค่าจำนวนที่เป็นผลคูณของ 5 ของคะแนนเดิม (The next multiple of 5) แทนค่าคะแนนเดิมเลย งานของนิสิตคือช่วยทำฟังก์ชันในการคำนวณการปัดคะแนนตามเงื่อนไขข้างต้น และคืนผลลัพธ์ออกมากจากฟังก์ชันนี้
Simple input 0
84
Simple output 0
85
อธิบายการทำงาน
ค่าจำนวนที่เป็นผลคูณของ 5 ของเลข 84 คือ 85 และตรงตามเงื่อนไข ดังนั้นคะแนนจึงเป็น 85
Simple input 1
57
Simple output 1
57
อธิบายการทำงาน
ค่าจำนวนที่เป็นผลคูณของ 5 ของเลข 57 คือ 60 แต่ 60 หากจาก 57 เป็น 3 คะแนนซึ่งมากกว่าเงื่อนไขที่กำหนด เลยไม่สามารถเพิ่มคะแนนได้
public static int multiple_grade(int num){
int keep_num;
if (num >= 38) {
int multiple_x = (num / 5 + 1) * 5;
if (multiple_x - num <= 2) {
keep_num = multiple_x - num;
System.out.println(keep_num + num);
}else{
return num;
}
}
return num;
}