Python 3は桁の数字と10桁の数字のマッチングを実現して、その積は不変です。


二桁の数字13と62は興味深い性質を持っています。それらの桁の数字と10桁の数字を合わせて、その積は不変です。
すなわち
13*62
31*26
この性質に対する数の二桁の数を求めます。十桁と同じ桁はこの列にありません。
11、22のように繰り返されるのは、この列ではない。1362と6213のように。

count = 0

for i in range(11, 100):
  first_left = i // 10
  first_right = i % 10

  if first_left == first_right:  #        ,      for j in range(i + 1, 100)
    continue    #      11、22             13*62 62*13    

  for j in range(i + 1, 100):   #             
    second_left = j // 10
    second_right = j % 10

    if second_left == second_right:  #        
      continue

    newfirst = first_right * 10 + first_left
    newsecond = second_right * 10 + second_left

    if i * j == newfirst * newsecond: #  if  
      print('{} * {} = {} * {}'.format(i, j, newfirst, newsecond))

      count += 1

print(count)
知識を補充します:Pythonは3桁の整数を反転して何種類の方法がありますか?
余計なことを言わないで、今日のテーマを始めます。
Python逆転三桁の整数にはいくつかの方法がありますか?
これはleetcodeのプログラミングアルゴリズムの問題です。感じはやはり経典的です。今日は出して皆さんに分かち合います。3桁の正の整数を指定します。この整数の各数値を反転する必要があります。例えば、入力:123、出力:321。まず、次の答えを見ないでください。自分なら、いくつかのPython方式を考えて解決します。
それぞれいくつかの実現方法を説明します。
1、残りを取って整頓する方式

class Test:
  def reverseInteger(self, number):
    g = number%10     #     
    s = (int(number/10))%10  #     
    b = int(number/100) #     
    return g*100+s*10+b
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) #    :321
2、スタックを使う方式

class Test:
  def reverseInteger(self, number):
    number = str(number) #     
    l = list(number)
    result = ""
    while len(l) > 0:
      result += l.pop() #     
    return int(result)
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) #     :321
3、スライスを使う方式

class Test:
  def reverseInteger(self, number):
    number=str(number)
    result=number[::-1] #python        
    result=(int(result))
    return result
if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123))
4、整数は文字列を回転し、文字列を反転させてから整数を回転させます。

class Test:
  def reverseInteger(self, x):
    plus_minus = ""
    reverse_x = ""
    if x < 0:
      plus_minus = "-"
      x = -x
    for i in str(x):
      reverse_x = i + reverse_x
    reverse_x = plus_minus + reverse_x
    if int(reverse_x) > pow(2, 31) - 1 or int(reverse_x) < pow(-2, 31):
      return 0
    return int(reverse_x)

if __name__ == "__main__":
  ts = Test()
  print (ts.reverseInteger(123)) #    :321
以上は私が共有する4つの方法ですが、他の方法がありますか?上のコードは全部自分でテストしました。直接使えます。みなさんに参考にしてもらいたいです。応援してください。