OzoneAsai commited on
Commit
780b7ef
โ€ข
1 Parent(s): 6c9d91c

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -0
app.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import math
3
+
4
+ def ใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚นใ‹ใ‚‰้ †ๅˆ—ใ‚’็”Ÿๆˆใ™ใ‚‹(elements, index):
5
+ n = len(elements)
6
+ result = []
7
+ elements = sorted(elements)
8
+ steps = []
9
+
10
+ while n > 0:
11
+ factorial = math.factorial(n - 1)
12
+ pos, index = divmod(index, factorial)
13
+ result.append(elements.pop(pos))
14
+ step_detail = {
15
+ "ใ‚นใƒ†ใƒƒใƒ—": len(result),
16
+ "้ธใฐใ‚ŒใŸไฝ็ฝฎ": pos,
17
+ "ๆฎ‹ใ‚Šใฎใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚น": index,
18
+ "็พๅœจใฎ้ †ๅˆ—": result.copy(),
19
+ "ๆฎ‹ใ‚Šใฎ่ฆ็ด ": elements.copy()
20
+ }
21
+ steps.append(step_detail)
22
+ n -= 1
23
+
24
+ return result, steps
25
+
26
+ # Streamlitใ‚ขใƒ—ใƒชใฎ่จญๅฎš
27
+ st.title("ใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚นใ‹ใ‚‰้ †ๅˆ—ใ‚’็”Ÿๆˆ")
28
+
29
+ # ใƒฆใƒผใ‚ถใƒผๅ…ฅๅŠ›
30
+ elements = st.text_input("่ฆ็ด ใ‚’ใ‚ซใƒณใƒžๅŒบๅˆ‡ใ‚Šใงๅ…ฅๅŠ›:", "1,2,3,4,5,6")
31
+ index = st.number_input("ใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚นใ‚’ๅ…ฅๅŠ›:", min_value=0, value=88, step=1)
32
+
33
+ # ๅ…ฅๅŠ›ใ‚’ใƒชใ‚นใƒˆใซๅค‰ๆ›
34
+ elements = [int(e.strip()) for e in elements.split(",")]
35
+
36
+ # ้ †ๅˆ—ใฎ็”Ÿๆˆใจ้Ž็จ‹ใฎๅ–ๅพ—
37
+ if st.button("็”Ÿๆˆ"):
38
+ ็”Ÿๆˆใ•ใ‚ŒใŸ้ †ๅˆ—, ้Ž็จ‹ = ใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚นใ‹ใ‚‰้ †ๅˆ—ใ‚’็”Ÿๆˆใ™ใ‚‹(elements, index)
39
+
40
+ # ็ตๆžœใฎ่กจ็คบ
41
+ st.write(f"็”Ÿๆˆใ•ใ‚ŒใŸ้ †ๅˆ—: {็”Ÿๆˆใ•ใ‚ŒใŸ้ †ๅˆ—}")
42
+
43
+ # ้Ž็จ‹ใฎ่กจ็คบ
44
+ for step in ้Ž็จ‹:
45
+ st.write(f"ใ‚นใƒ†ใƒƒใƒ— {step['ใ‚นใƒ†ใƒƒใƒ—']}:")
46
+ st.write(f" ้ธใฐใ‚ŒใŸไฝ็ฝฎ: {step['้ธใฐใ‚ŒใŸไฝ็ฝฎ']}")
47
+ st.write(f" ๆฎ‹ใ‚Šใฎใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚น: {step['ๆฎ‹ใ‚Šใฎใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚น']}")
48
+ st.write(f" ็พๅœจใฎ้ †ๅˆ—: {step['็พๅœจใฎ้ †ๅˆ—']}")
49
+ st.write(f" ๆฎ‹ใ‚Šใฎ่ฆ็ด : {step['ๆฎ‹ใ‚Šใฎ่ฆ็ด ']}")