Files
  • main.py
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#----------------------------------------------#
# Program för att söka efter heltalslösningar 
# till ekvationen x^y=y^x med 
# systematisk prövning
#
# Problemställningen och den 
# bakomliggande matematiken finns presenterad i 
# artikeln: 
# "Ekvationen x^y=y^x - 
# Exempel på problemlösning med hjälp 
# av programmering" publicerad i
# Nämnaren 2018:3
#
# Anders Johansson
# Vuxenutbildningen Falkenberg
#----------------------------------------------#

# Minsta värden för x och y
x_min=1
y_min=1

# Största värden för x
x_max=1000

# Kontrollera genom systematisk prövning. 
# P.g.a. symmetri, räcker det att 
# låta den inre for-loopen gå upp till x-1
for x in range(x_min,x_max):
  for y in range(y_min,x-1):
    # Skriv ut funnen lösning om x^y=y^x
    if x**y==y**x:
      print('Lösning funnen: x =', x,'y =',y)
      print('Lösning funnen: x =', y,'y =',x)
    #endif
  #endfor

  # Skriv ut hur långt beräkningen kommit
  if x%round(x_max/10)==0:
    print(round(x/x_max*100), '% Klart!')
  #endif
#endfor
print('Alla positiva heltal upp t.o.m: x=',x_max, 'y=',x_max,' kontrollerade')
print('Triviala lösningar x=y=1, x=y=2, osv ej utskrivna')
Python 3.6.1 (default, Dec 2015, 13:05:11) [GCC 4.8.2] on linux