Jag söker lite enklare matematiska problem att lösa genom programmering. Nu syftar jag inte på Project Euler-problem, då de vanligen är alldeles åt helvete för svåra för mig. Tänk snarare typ gymnasiematte.
Övningen är inte tänkt att förbättra mina mattekunskaper, utan den är snarare tänkt att förbättra min förmåga att översätta problem från text till kod.
Köpa en bok i numeriska metoder eller liknande.
Är i och för sig dumt att köpa en dyr bok när det lär finnas gratis på nätet...
Myksa:
Är i och för sig dumt att köpa en dyr bok när det lär finnas gratis på nätet...
Prexakt min tanke.
Åtta:
Prexakt
Vilket väldans bra ord!
Taget...
Myksa:
Taget...
+1
Hmm gymnasiet, enklast då är väll om man kollar på lite diskret matte. Kan ju köra fakultet för att lära dig programmera rekursivt osv. Permutationer/Kombinationer mm om du inte tycker det är för enkelt.
I vad tänkte du programmera?
Det är 10 personer och vi ska välja 5 av dem för att ta ett kort. Hur många sätt kan vi välja personerna på?
Eftersom det inte var matten du var ute efter så är lösningen nedan
10! / 5! = 10*9*8*7*6 = X
Sen hur du programmerar det rekursivt får du lösa 🙂
En till enkel som man kanske kan programmera:
Hur många tal mellan 0 och 500 är inte delbara på 2, 3, 5, 6, 8 eller 10?
Lösning:
Alla tal som är delbara på 2, 3 eller 5 är även delbara på 6, 8 och 10 då 2*3=6, 2*2*2=8 och 2*5=10.
500 - 500 / 2 = 250
250 - 250 / 3 = 167 (Heltalsberäkning)
167 - 167 / 5 = 134 (Heltalsberäkning)
SVAR: 134 !!!
aroon:
I vad tänkte du programmera?
Python.
aroon:
Eftersom det inte var matten du var ute efter så är lösningen nedan
Har ingenting emot att lära mig lite matte också, men i sådana fall så kanske jag kommer behöva lite handhållning. Jag läste bara till matte C, så jag vet t.ex. inte vad
aroon:
diskret matte
är.
F.ö. behöver jag lite hjälp med en övning som jag inte har en aning om hur jag ska lösa.
:
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
Tror det är mina bristande mattekunskaper som förstör för mig.
Åtta:
Python.
Då ska det inte vara några svårigheter 😀
Åtta:
inte vad vad diskret matte är.
Läs här och visare du skall bli:
http://sv.wikipedia.org/wiki/Diskret_matematik
Åtta:
: The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
Börja nerifrån och försök dela med primtalen, 2,3,5 osv. när det blir jämt svar från delningen (Kan använda mod om du programmerar och kola om du får 0) så bryter du ur det. försök med samma om och om igen tills det inte går.
I ditt exempel:
5* 2639 = 13195
5* 7 * 377 = 13195
osv
Sen mions jag inte om Python fixar så stora tal utan att man gör nått, vanliga ints kan ju vara max 2^32/2 ~ 2,147 miljarder.
aroon:
Läs här och visare du skall bli:
Redan gjort. Blev aningen visare, men inte mycket.
aroon:
Börja nerifrån och försök dela med primtalen, 2,3,5 osv.
Då måste jag ju få ut primtalen först.
Edit: Kirrade det hela.
Edit2: Tittade på din första uppgift. Förstår inte vad 10! / 5! innebär.
Edit3: Kirrade denna:
aroon:
Hur många tal mellan 0 och 500 är inte delbara på 2, 3, 5, 6, 8 eller 10?
Inte världens snyggaste lösning kanske, men det funkar i alla fall.
list = []
for i in xrange(1,501):
divisible = False
if i%2 == 0 or i%3 == 0 or i%5 == 0:
divisible = True
if divisible == False: list.append(i)
print len(list)
Åtta:
Förstår inte vad 10! / 5! innebär.
x! = x * (x-1) * (x-2) * ... * 2 * 1
2! = 1*2
3! = 1*2*3
4! = 1*2*3*4
10!/5! är alltså
2*3*4*5*6*7*8*9*10 / 2*3*4*5
Då kan man förkorta bort så att det blir: 6*7*8*9*10
Det är för övrigt fakultet.
hatar matte, läs min d-kurs åt mig?
tur att man har er.
sylar:
Det är för övrigt fakultet.
Aha. Tack för förklaringen. Det var ju inte fullt lika komplicerat som det lät. Vad används det till?
ohYEA_:
hatar matte, läs min d-kurs åt mig?
Skulle gärna göra om jag kunde.
Åtta:
Aha. Tack för förklaringen. Det var ju inte fullt lika komplicerat som det lät. Vad används det till?
Vet inte faktiskt. Däremot så vet jag att det bland annat används inom kombinatoriken. En mängd med n-element har n! permutationer.
Om jag citerar Wikipedia ( http://sv.wikipedia.org/wiki/Permutation):
"Mängden C = {a,b,c} kan alltså permuteras på 3!=6 sätt: abc, acb, bac, bca, cab, cba."
Man kan kasta om ordet "APA" på såhär många sätt:
"APA"
"PAA"
"AAP"
3! / 2! = 3 sätt
Där 2! används för att ange antalet dubletter och 3! är antalet tecken.
sylar:
Däremot så vet jag att det bland annat används inom kombinatoriken. En mängd med n-element har n! permutationer.
Aha. Alltså t.ex. för att få fram alla möjliga kombinationer i en serie?