Secret lovers problem (Goldbach conjecture)
Jag försöker att göra en grej i mathematica, ta upp alla secret lovers som gömmer sig i ett random jämn tal (alltså Goldbachs conjecture) och illustrera det grafisk. Jag började med tal mindre än 100. Jag har inte kommit till grafiska delen än, jag bara försöker generera jämna godtyckliga tal.
Jag har skrivit detta, som funkar jättebra... fast den genererar bara udda tal 😭!
Jag tänkte att If funkade såhär: If[villkor, om True, om False]?
Clear[Isaora, a]
Isaora := Range[2, 100, 2]
a := RandomChoice[Isaora, 1]
a = If[Divisible[a, 2], Print[a], Print[a + 1]]
Vad ska jag fixa här?
Detta funkar också men den är inte mitt:
n = 2 RandomInteger[{2, 350}]
listPrimes = Prime[Range[PrimePi[n]]];
pairs = {#, n - #} & /@ listPrimes;
DeleteDuplicates[Sort[#] & /@ Select[pairs, And @@ (PrimeQ[#]) &]]
Fråga: vad är & och varför används prefix?
Jag är ingen "fena" på detta, men ingen annan vill ju svara.
Varför står det:
a = if[…]
Det ska väl bara stå:
if[…]
I stället för upprepningar skriver man flera "#". Sedan byts "#" mot den sträng som står efter "&".
Förhoppningsvis får du mer och snabbare hjälp i programmeringsforumet. Jag flyttar tråden. /moderator
Hej :)
Vilket sammanträffande, jag börjar programmeringsommarkurs nu på måndag!
Det är ingen brådska för svaret, jag bara testar saker för att lära mig.
Affe, du har rätt. Tar jag bort a då funkade det. Men jag behöver a-variabeln för efter.
Jag har testat några grejer, bland annat byta plats på a+1 och a. Och då spottar det ut en random jämn tal. Men det är konstigt, jag har följt ju funktion beskrivningen...
Ja, när du byter plats på print[a] och print[a+1], borde du förstå vad som händer...behöver du hjälp med det?
Det stämmer inte med vad står på hjälpdokument. True condition måste komma först.
Men jag behöver mest hjälp för att skriva vad kommer näst, plocka isär den här tal.
Annars är det inga problem, jag har en kurs den 5e juli just för mathematica.