boris-vlasenko

сумма цифр и словарь

Sep 22nd, 2020
814
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. '''
  2. 4. На отрезке от A до B найти числа, у которых сумма цифр - простое число.
  3. Вывести эти числа в порядке возрастания суммы первых двух цифр. Если есть несколько чисел с одинаковой суммой первых двух цифр, то вывести эти числа на одной строке
  4. '''
  5.  
  6. def sum_first_digits_1(x):
  7.     return int(str(x)[0])+int(str(x)[1])
  8.  
  9. def sum_first_digits_2(x):
  10.     data = str(x)[:2]
  11.     s = 0
  12.     for x in data:
  13.         s += int(x)
  14.     return s
  15.    
  16. def sum_first_digits_3(x)
  17.     return sum(map(int,str(x)[:2]))
  18.  
  19. def sum_first_digits_4(x)
  20.     while x >= 10:
  21.         d = x % 10
  22.         x = x // 10
  23.     return x+d
  24.  
  25.  
  26. a = int(input())
  27. b = int(input())
  28.  
  29. d = {}
  30. for i in range(a,b+1):
  31.     x = sum_first_digits_1(i)
  32.     if x in d:
  33.         d[x].append(i)
  34.     else:
  35.         d[x] = [i]
  36.  
  37. # ~ for x in sorted(d):
  38.     # ~ print(x,d[x])
  39.  
  40.  
  41. # ~ for x in sorted(d):
  42.     # ~ print(x,*d[x])
  43.  
  44.  
  45. for x in sorted(d):
  46.     print(*d[x])
  47.  
RAW Paste Data