TelenkovDmitry před 3 roky
rodič
revize
d6102b4a9a
1 změnil soubory, kde provedl 49 přidání a 16 odebrání
  1. 49 16
      misc.py

+ 49 - 16
misc.py

@@ -1,17 +1,17 @@
 
 
 # Инвертирует строку
 # Инвертирует строку
 from ast import IsNot
 from ast import IsNot
-from queue import PriorityQueue
 
 
 
 
 def solution(string):
 def solution(string):
     return string[::-1]
     return string[::-1]
 
 
 
 
-#print(solution("qwerty"))
+# print(solution("qwerty"))
 
 
 # ------------------------------------------------------------------------------- #
 # ------------------------------------------------------------------------------- #
 
 
+# Убирает все повторяющиеся буквы.
 def unique_in_order(iterable):
 def unique_in_order(iterable):
     s = set(iterable)
     s = set(iterable)
     l = []
     l = []
@@ -22,26 +22,59 @@ def unique_in_order(iterable):
     
     
     return l
     return l
 
 
+# print(unique_in_order("qwereteyty"))
+
+
+# ------------------------------------------------------------------------------- #
+# Вывод суммы чисел в двоичном виде без символо '0b'
+
+def add_binary(a,b):
+    return bin(a + b)[2:]
     
     
+'''
+# Интересное решение    
+def add_binary(a,b):    
+    return f"{a + b:b}"
+'''
 
 
 
 
-# print(unique_in_order("qwereteyty"))
+# print(add_binary(1, 1))
 
 
 # ------------------------------------------------------------------------------- #
 # ------------------------------------------------------------------------------- #
+'''
+def find_smallest_int(arr):
+    min = arr[0]
+    for i in arr:
+        if i < min:
+            min = i
+    return min
+'''
+
+def find_smallest_int(arr):
+    return min(arr)
+
+# print(find_smallest_int([0, 1-2**64, 2**64]))
+
+# ------------------------------------------------------------------------------- #
+# Сумма цифр в стпени равной длине числа должна быть равна самому числу
+'''
+def narcissistic(value):
+
+    number_digits = len(str(value))
+    new_value = value
+    sum = 0
+    digit = 0
 
 
-my_list = [2**i for i in range(1, 10, 1)]
-print(my_list)
+    for i in range(number_digits - 1, -1, -1):
+        digit = int(new_value/10**i)
+        sum += digit**number_digits        
+        new_value -= digit*10**i
 
 
-class NewList(list):
-    def __getitem__(self, index):
-        if index > 0:
-            return super().__getitem__(index - 1)
-        elif index < 0:
-            return super().__getitem__(index)
-        else:
-            raise IndexError('Index error!')
+    return sum == value        
+'''
 
 
+# Красивое решение решение
+def narcissistic(value):
+    return value == sum(int(x) ** len(str(value)) for x in str(value))
 
 
-new_list = NewList(my_list)
-# print(new_list[0])
-print(new_list[-2])
+# print(narcissistic(371))