Tie koodariksi

MAA11 Algoritmer och talteori

Språk:

Heltalsekvationer

Ekvationens lösning kan sökas med en eller flera loopar. Idén är att gå igenom alla möjliga lösningar och visa lösningar, som uppfyller vissa villkor.

Vi granskar som exempel en uppgift, där vi vill söka heltalen a och b, som uppfyller ekvationen a2+3b = 99. Sökområdet är begränsat, så a och b ska finnas på intervallen 1..50. Följande program genomför sökningen:

for a in range(1,51):
    for b in range(1,51):
        if a**2+3*b == 99:
            print(a,b)	
Programmet går igenom alla sätt att välja ett värde för variablerna a och b på intervallen 1..50 och skriver ut lösningarna, som genomför ekvationen. Programmets utskrift är följande:
3 30
6 21
9 6
Detta innebär att möjliga lösningar för ekvationen är: Observera att man i ett sådant program alltid måste välja ett sökområde, som programmet går igenom. Om lösningen är utanför sökområdet, så hittar programmet den inte.

Uppgift 1 Olöst

Logga in för att lösa uppgifter.

Gör ett program som söker alla positiva heltal a och b, för vilka gäller a2 + b2 = 250. Här räcker det att granska värdena för talen a och b på intervallen 1..15, eftersom 162 = 256 redan är för stort.

Programmet ska ge svaret på samma sätt som i exemplet.

Skriv ditt program här:

הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


Uppgift 2 Olöst

Logga in för att lösa uppgifter.

Gör ett program som söker lösningar för ekvationen a2 + b2 ≡ 0 (mod 97), när a och b ska vara på intervallen 1..50.

Här är kravet alltså att a2 + b2 är delbart med talet 97. En lösning är a = 7 och b = 40, eftersom resultatet då är 72 + 402 = 1 649 = 17*97.

Programmet ska ge svaret på samma sätt som i exemplet.

Skriv ditt program här:

הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


Uppgift 3 Olöst

Logga in för att lösa uppgifter.

Gör ett program, som söker lösningar för ekvationen a2 + b2 = c2, när a, b och c ska finnas på intervallen 1..30.

Svaret ska se ut på följande sätt:

3 4 5
4 3 5
5 12 13
6 8 10
7 24 25
...

Skriv ditt program här:

הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX