This repository has been archived by the owner on Apr 22, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1041.html
44 lines (43 loc) · 4.98 KB
/
1041.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<span style="font-family: Courier New;">นักโบราณคดีจากมหาวิทยาลัยแห่งหนึ่งพบว่ามีคณิตศาสตร์แบบโบราณแบบหนึ่งมีรูปแบบการคำนวณแตกต่างจากคณิตศาสตร์ในปัจจุบัน คือเมื่อเทียบกับคณิตศาสตร์ที่เรารู้จักแล้วคือมีตัวเลขเพียงทั้งหมดแค่ 10 ตัว คือ 0, 1, 2, …, 9 และมีโอเปอเรเตอร์การคำนวณ (การดำเนินการทางคณิตศาสตร์) เพียงสองตัวเท่านั้น ซึ่งนักโบราณคดีให้สัญลักษณ์เป็น ! และ $ โดยกำหนดให้โอเปอเรเตอร์ทั้งสองตัวมีการคำนวณเทียบเคียงกับคณิตศาสตร์ปัจจุบันเป็นดังนี้<br />
<br />
</span>
<table cellspacing="1" cellpadding="5" border="1" align="center" width="60%">
<tbody>
<tr>
<td style="text-align: center;"><span style="font-family: Courier New;"><strong>โอเปอเรเตอร์ เมื่อกระทำกับ a และ b</strong></span></td>
<td style="text-align: center;"><span style="font-family: Courier New;"><strong>เทียบได้กับ</strong></span></td>
</tr>
<tr>
<td style="text-align: center;"><span style="font-family: Courier New;">a$b</span></td>
<td style="text-align: center;"><span style="font-family: Courier New;">(4a+3b) mod 10</span></td>
</tr>
<tr>
<td style="text-align: center;"><span style="font-family: Courier New;">a!b</span></td>
<td style="text-align: center;"><span style="font-family: Courier New;">(a x b) mod 10</span></td>
</tr>
</tbody>
</table>
<span style="font-family: Courier New;"> <br />
ตัวอย่างเช่น 1$2 จะมีค่าเท่ากับ (4 1 + 3 2) mod 10 ซึ่งจะได้ผลลัพธ์เท่ากับ 0 โดยที่การ mod 10 คือผลที่ได้จากการนำหลักหน่วยของการคำนวณมาเป็นผลลัพธ์ เช่น 15 mod 10 คือ 5 ในขณะที่ 32 mod 10 คือ 2<br />
<br />
นอกเหนือจากนี้โอเปอเรเตอร์ $ จะถูกกระทำก่อนโอเปอเรอเตอร์ ! เสมอ เช่น 1!2$3 จะมีค่าเท่ากับ 1!(2$3) นั่นคือ 2$3 จะถูกกระทำก่อนเสมอ ในกรณีที่เป็นโอเปอเรเตอร์เดียวกัน จะกระทำการคำนวณจากซ้ายไปขวา เช่น 1!2!3 จะมีค่าเท่ากับ (1!2)!3 นั่นคือ 1!2 จะถูกกระทำก่อน<br />
<br />
<u><strong>โจทย์</strong></u><br />
จงเขียนโปรแกรมเพื่ออ่านข้อมูลนำเข้าของนิพจน์ทางคณิตศาสตร์แบบโบราณดังกล่าว แล้วทำการคำนวณเพื่อหาผลลัพธ์ของนิพจน์ดังกล่าวนั้น<strong><br />
<br />
</strong><u><strong>ข้อมูลนำเข้า</strong></u><br />
<strong>บรรทัดเดียว </strong>โดยเป็นตัวเลขหนึ่งหลักสลับกับโอเปอเรเตอร์หนึ่งตัวแล้วจบบรรทัดด้วยตัวเลขหนึ่งตัว โดยมีความยาวรวมแล้วไม่เกิน 255 อักขระ<br />
<br />
<u><strong>ข้อมูลส่งออก</strong></u><br />
<strong>มีทั้งหมด 1 บรรทัด</strong> โดยมีตัวเลขหนึ่งตัวเพื่อแสดงผลลัพธ์ของการคำนวณข้างต้น<br />
<br />
<u><strong>ที่ม</strong></u><strong><u>า</u>:</strong> <b>การแข่งขันคณิตศาสตร์ วิทยาศาสตร์ โอลิมปิกแห่งประเทศไทย สาขาวิชาคอมพิวเตอร์ ประจำปี 2550</b></span>
<table>
<tr>
<th>ข้อมูลนำเข้า</th>
<th>ข้อมูลส่งออก</th>
</tr>
<tr>
<td>1!4$5$3</td>
<td>3</td>
</tr></table>