Skip to content

Commit 2b41154

Browse files
feat: menambahkan algoritma krisnamurty
1 parent ce827e3 commit 2b41154

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

other/krisnamurtyCheck.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Mengecek apakah krisnamurty atau bukan
2+
from math import factorial
3+
4+
5+
def krisnamurty(number : int) -> int | str:
6+
"""
7+
Angka Krisnamurty adalah angka factorial yang setiap digitnya
8+
sama dengan factorial nya.
9+
10+
contoh :
11+
145! = 1! + 4! + 5! -> Angka Krisnamurty
12+
13+
>>> krisnamurty(145)
14+
'Angka Krisnamurty'
15+
>>> krisnamurty(1)
16+
'Angka Krisnamurty'
17+
>>> krisnamurty(123)
18+
'Bukan Angka Krisnamuty'
19+
20+
"""
21+
error = "Masukkan Angka dengan benar"
22+
benar , bukan = "Angka Krisnamurty" , "Bukan Angka Krisnamuty"
23+
if number <= 0:
24+
return error
25+
else :
26+
temp = number
27+
total = 0
28+
while temp > 0:
29+
digit = temp % 10
30+
total += factorial(digit)
31+
temp //= 10
32+
if total == number:
33+
return benar
34+
else :
35+
return bukan
36+
37+
38+
def main(args=None):
39+
import doctest
40+
41+
doctest.testmod()
42+
43+
# sample case
44+
print(krisnamurty(145)) # Angka Krisnamurty
45+
print(krisnamurty(1)) # Angka Krisnamurty
46+
print(krisnamurty(123)) # Bukan Angka Krisnamuty
47+
48+
49+
if __name__ == "__main__":
50+
main()

0 commit comments

Comments
 (0)