KONRAD BURNIK
1.
zadatak
Zadatak 1.
Odredite sve proste brojeve manje od
10
7koji imaju simetriˇcan
prikaz u bazi 10. Koji od njih imaju i simetriˇcan prikaz i u bazi 2? Koji od
tih brojeva su Fibonaccijevi, a koji su Lucasovi?
Rjesenje
1
.
Simetriˇcne brojeve do 10
7generiramo redom po broju znamenki.
Dakle, najprije raˇcunamo skupove
Sim
k=
{
k-znamenkasti simetriˇcni brojevi u bazi 10
}
za
k
∈ {
1, . . . ,
7
}
. Unija tih skupova daje sve simetriˇcne brojeve do 10
7.
Sim1:=Table[a,{a,1,9}] Sim2:=Table[a*10+a,{a,1,9}]
Sim3:=Table[a*100+b*10+a,{a,1,9},{b,0,9}]
Sim4:=Table[a*1000+b*100+b*10+a,{a,1,9},{b,0,9}]
Sim5:=Table[a*10000+b*1000+c*100+b*10+a,{a,1,9},{b,0,9},{c,0,9}]
Sim6:=Table[a*100000+b*10000+c*1000+c*100+b*10+a,{a,1,9},{b,0,9},{c,0,9}] Sim7:=Table[a*1000000+b*100000+c*10000+d*1000+c*100+b*10+a,
{a,1,9},{b,0,9},{c,0,9},{d,0,9}]
Simetricni = Flatten[Union[Sim1,Sim2,Sim3,Sim4,Sim5,Sim6, Sim7]]
Length[Simetricni]
10998
Za odabir prostih medu njima radimo selekciju:
A = Select[Simetricni, PrimeQ[#] &]
Length[A]
781
Brojeve izAkoji imaju i simetriˇcan prikaz u bazi 2 dobivam selekcijom uz pomo´cnu funkcijuBaseDigits[broj,baza]koja za dani broj i danu bazu vra´ca reprezentaciju tog broja u danoj bazi kao niz znakova. Za pretvorbu broja u njegov zapis u danoj bazi koristim ugradenu funkcijuBaseForm. String koji vra´ca ova funkcija potrebno je formatirati tako da sadrˇzi samo podatke o znamenkama (do znaka \n), a ne i o
kojoj bazi se radi (nakon znaka\n). Ako se radi o bazi 10 tada formatiranje rezul-tata nije potrebno. Uvodim joˇs i funkcijubinSimQ[x]koja testira dali se znakovna reprezentacija binarnog zapisa ˇcitana s lijeva nadesno isto ˇcita i sdesna nalijevo.
BaseDigits[broj_, baza_] :=
Module[{s = ToString[BaseForm[broj, baza]]}, If[baza != 10,
StringDrop[s, {Part[StringPosition[s, "\n"], 1, 1], -1}],s]]
binsimQ[x_]:= ( BaseDigits[x, 2] ==StringReverse[BaseDigits[x,2]])
Dakle, selekcija daje
Select[A, binsimQ[#] &]
{3, 5, 7, 313}
Izdvajanje Fibonaccijevih iz liste A radimo takoder selekcijom za koju posebno uvodimo funkcijufiboQ[x,n]koja za dani prirodni brojxvra´caTrueako jex=Fk za 0≤k≤n. ˇClanstvo u listi se ispituje ugradenom funkcijomMemberQ.
fiboQ[x_, n_] := MemberQ[Table[ Fibonacci[i], {i, 0, n}], x] fiboQ[13, 100]
True
fiboQ[14, 100]
False
Select[A, fiboQ[#, 36] &]
{2, 3, 5}
Za Lucasove brojeve uvodim funkcijuLucas[n]koja vra´can-ti Lucasov broj. Ko-ristim vezu Ln=Fn−1+Fn+1.
Lucas[n_] := Fibonacci[n - 1] + Fibonacci[n + 1]
Kao i kod Fibonaccijevih brojeva uvodimo funkciju lucaQ[x,n] koja je analogna funkciji fiboQ[x,n].
lucaQ[x_, n_] :=
MemberQ[Table[Lucas[i], {i, 0, n}], x]
Sad izdvajamo Lucasove iz listeA.
Select[A, lucaQ[#, 36] &]
2.
zadatak
Zadatak 2.
Pravac
m
sijeˇce pravce
BC
,
CA
i
AB
stranica trokuta
ABC
u toˇckama
A
m,
B
m,
C
m. Dokaˇzite da poloviˇsta duˇzina
A
mA
,
B
mB
,
C
mC
leˇze na pravcu. Nadite joˇs neka svojstva te konfiguracije!
g
m
Cm
Am Bm
A
C
B
E D
Rjesenje
2
.
Za rjeˇsenje koristim slijede´ce pomo´cne funkcije:
(* FullSimplify i Factortimredom *) FS[m_]:=Factor[FullSimplify[m]]
(* Vraca poloviste segmenta odredjenog njegovim krajnjim to\v{c}kama*)
poloviste[{a_,u_},{b_,v_}]:=FS[{(a+b)/2,(u+v)/2}]
(* Presjek 2 pravca zadanih u implicitnom obliku *) presjek2p[{a_,b_,c_},{u_,v_,w_}]:=
FS[{(w*b-v*c)/(a*v-b*u),(u*c-w*a)/(a*v-b*u)}]
(* Ispituje dali su tri tocke kolinearne *)
kolinearneQ[{a1_,a2_},{b1_,b2_},{c1_,c2_}]:= FS[a1*b2-a1*c2-b1*a2+b1*c2+c1*a2-c1*b2]
e2G[{a_, x_}, {b_, y_}, {c_, z_}] := FS[{(a + b + c)/3, (x + y + z)/3}]
(* Ortocentar *) e2H[{xa_, ya_}, {xb_, yb_}, {xc_, yc_}] := presjek2p[okomica[{xa, ya}, pravac2t[{xb, yb}, {xc, yc}]],
okomica[{xb, yb}, pravac2t[{xa, ya}, {xc, yc}]]]
okomitiQ[{a_, b_, c_}, {u_, v_, w_}] := FS[a*u + b*v]
tA = {a, u};
tB= {b, v}; tC = {c, w}; tE = {e, x}; tF = {f, y};
pAB = pravac2t[tA, tB]; pBC = pravac2t[tB, tC]; pAC = pravac2t[tC, tA];
(* pravac m odredjen je tockama E i F *) m = pravac2t[tE, tF];
(* Pronadji presjeke pravca m sa pravcima koji cine trokut ABC *)
tAm = presjek2p[pBC, m]; tBm = presjek2p[pAC, m]; tCm = presjek2p[pAB, m];
kolinearneQ[poloviste[tA, tAm], poloviste[tB, tBm], poloviste[tC, tCm]]
0 (*jesu!*)
Za ovu konfiguraciju pronaˇsao sam joˇs slijede´ca svojstva:
Svojstvo 1. Teˇziˇsta trokutaAAmB,AAmC,ABC leˇze na pravcu tc.
kolinearneQ[e2G[tA, tB,tAm], e2G[tA, tC, tAm], e2G[tA,tB,tC]]
0 (* tezista leze na pravcu *)
Svojstvo 2. Ortocentri trokutaABAm,ACAm,ABC leˇze na pravcu to.
kolinearneQ[e2H[tA, tB, tAm], e2H[tA, tC, tAm], e2H[tA,tB,tC]]
0 (* ortocentri leze na pravcu *)
Svojstvo 3. Pravcitc ito medusobno su okomiti.
okomitiQ[pravac2t[e2G[tA, tB, tAm], e2G[tA, tC, tAm]], pravac2t[e2H[tA, tB, tAm], e2H[tA, tC, tAm]]]
0 (* tc i to su medjusobno okomiti *)
Svojstvo 4. Teˇziˇsta trokutaABmB,BBmC,ABC leˇze na pravcut′
c.
kolinearneQ[e2G[tA, tBm, tB], e2G[tB, tBm, tC], e2G[tA, tB, tC]]
0 (* tezista leze na pravcu *)
Svojstvo 5. Ortocentri trokutaABmB,BBmC,ABC leˇze na pravcut′
o.
kolinearneQ[e2H[tA, tBm, tB], e2H[tB, tBm, tC], e2H[tA, tB, tC]]
0 (* ortocentri leze na pravcu *)
Svojstvo 6. Pravcit′
c it′o su medusobno okomiti.
okomitiQ[pravac2t[e2G[tA, tBm, tB], e2G[tB, tBm, tC]],
pravac2t[e2H[tA, tBm, tB], e2H[tB, tBm, tC]]]
Svojstvo 7. Pravcitc it′c medusobno se sijeku u teˇziˇstu trokuta ABC i paralelni
paralelniQ[pravac2t[e2G[tB, tAm, tA], e2G[tA, tC, tAm]], pBC]
0 (* tc je paralelan sa BC *)
paralelniQ[pravac2t[e2G[tA, tBm, tB], e2G[tB, tBm, tC]], pAC]
0 (* tc’ je paralelan sa AC *)
presjek2p[
pravac2t[e2G[tB, tAm, tA], e2G[tA, tC, tAm]], pravac2t[ e2G[tA, tBm, tB], e2G[tB, tBm, tC]]] - e2G[tA, tB, tC]
{0,0} (* tc i tc’ se sijeku u tezistu trokuta ABC *)
3.
zadatak
Zadatak 3.
Dokaˇzite da su zbrojevi duljina stranica i duljina pripadnih
visina bilo kojeg trokuta (tj. duˇzine
a
+
h
a,b
+
h
b,c
+
h
c) uvijek stranicenekog trokuta. Vrijedi li ista tvrdnja za
a
2+
h
2a,b
2+
h
2b,
c
2+
h
2c?Rjesenje
3
.
Tri duˇzine
a,
b,
c
ˇcine trokut ako i samo ako vrijede nejednakosti
trokuta:
a
+
b
≥
c
b
+
c
≥
a
c
+
a
≥
b
pa ´cemo ovaj uvjet iskoristiti za ispitivanje najprije dali duˇzine
a+h
a,
b+h
b,
c
+
h
ca zatim i
a
2+
h
2a,b
2+
h
2b,c
2+
h
2cˇcine trokut.
Duljine visina trokuta
ABC
mogu se izraˇcunati preko njegove povrˇsine.
Veza izmedu povrˇsine trokuta i njegovih visina glasi:
P
=
ah
a2
=
bh
b2
=
ch
c2
S druge strane, Heronova formula daje izraz za povrˇsinu trokuta
ABC
di-rektno iz duljina njegovih stranica.
gdje je
s
= (a
+
b
+
c)/2. Dakle, kada izraˇcunamo povrˇsinu trokuta
P
,
duljine pripadnih visina
h
a,
h
b,
h
cjednake su:
h
a=
2P
a
h
b=
2P
b
h
c=
2P
c
Kako zadatak rjeˇsavamo pomo´cu raˇcunala, najprije moramo odabrati
prik-ladnu parametrizaciju. Jedna od ˇcesto koriˇstenih parametrizacija glasi:
A
:= (0,
0)
B
:= (r(f
+
g),
0)
C
:=
·
(f
2−
1)gr
f g
−
1
,
2f gr
f g
−
1
¸
Gdje su
f
i
g
kotangensi polovica kuteva uz vrhove
A
i
B
respektivno, a
r
je radijus upisane kruˇznice trokuta
ABC
. Ova parametrizacija je pogodna
za rad na raˇcunalu jer su koordinate toˇcaka racionalni izrazi u
f
,g,r. Dakle,
koriste´ci ovu parametrizaciju za vrhove trokuta raˇcunamo najprije duljine
stranica
a, b, c:
A = {0,0}; B = {r*(f+g),0};
C = {(((f^2-1)*g*r)/(f*g-1)),2*f*g*r/(f*g-1)};
aa = PowerExpand[udaljenost2t[tB, tC]]; bb = PowerExpand[udaljenost2t[tA, tC]]; cc = PowerExpand[udaljenost2t[tA, tB]];
aa
(f*(1 + g^2)*r)/(-1 + f*g)
bb
((1 + f^2)*g*r)/(-1 + f*g)
cc
(f + g)*r
Povrˇsina ide preko Heronove formule:
Heron[a_, b_, c_] :=
P = PowerExpand[FullSimplify[Heron[aa, bb, cc]]];
P
(r^2*(1 + u)*(1 + v)*(2 + u + v))/(-1 + (1 + u)*(1 + v))
Raˇcunamo visine ha,hb,hc:
ha = 2*P/aa; hb = 2*P/bb; hc = 2*P/cc;
ha
(2*g*(f + g)*r)/(1 + g^2)
hb
(2*f*(f + g)*r)/(1 + f^2)
hc
(2*f*g*r)/(-1 + f*g)
Testiramo nejednakosti trokuta na duˇzinamaa+ha,b+hb,c+hc. Ako u sve tri nejednakosti dobijemo izraze sa pozitivnim ˇclanovima tada te duˇzine ˇcine trokut.
f = 1 + u; g = 1 + v;
Cancel[FullSimplify[aa + ha + bb + hb - cc - hc]]
(2*r*(4 + 12*u + 14*u^2 + 6*u^3 + u^4 + 12*v + 32*u*v + 32*u^2*v + 12*u^3*v + 2*u^4*v + 14*v^2 + 32*u*v^2 + 27*u^2*v^2 + 8*u^3*v^2 + u^4*v^2 + 6*v^3 + 12*u*v^3 + 8*u^2*v^3 + u^3*v^3 + v^4 + 2*u*v^4 + u^2*v^4))/((2 + 2*u + u^2)*(u + v + u*v)*(2 + 2*v + v^2))
Cancel[FullSimplify[aa + ha - bb - hb + cc + hc]]
(2*r*(4 + 12*u + 10*u^2 + 6*u^3 + u^4 + 12*v + 32*u*v + 28*u^2*v + 16*u^3*v + 2*u^4*v + 14*v^2 + 32*u*v^2 + 27*u^2*v^2 + 14*u^3*v^2 + u^4*v^2 + 6*v^3 + 12*u*v^3 + 10*u^2*v^3 + 5*u^3*v^3 + v^4 + 2*u*v^4 + 2*u^2*v^4 + u^3*v^4))/((2 + 2*u + u^2)*(u + v + u*v)*(2 + 2*v + v^2))
Cancel[FullSimplify[bb + hb + cc + hc - aa - ha]]
(2 + 2*v + v^2))
U sva tri sluˇcaja dobivamo izraze sa pozitivnim ˇclanovima pa zakljuˇcujemo da duˇzine a+ha,b+hb,c+hc zaista ˇcine trokut. Istu stvar provjeravamo za duˇzine
a2
+h2 a,b
2
+h2 b,c
2
+h2 c.
Cancel[FullSimplify[aa^2 + ha^2 + bb^2 + hb^2 - cc^2 - hc^2]]
(2*r^2*(32 + 128*u + 288*u^2 + 416*u^3 + 376*u^4 + 208*u^5 + 72*u^6 + 16*u^7 + 2*u^8 + 128*v + 576*u*v + 1376*u^2*v + 1952*u^3*v +
1664*u^4*v + 864*u^5*v + 288*u^6*v + 64*u^7*v + 8*u^8*v + 288*v^2 + 1376*u*v^2 + 3184*u^2*v^2 + 4176*u^3*v^2 + 3224*u^4*v^2 +
1504*u^5*v^2 + 456*u^6*v^2 + 96*u^7*v^2 + 12*u^8*v^2 + 416*v^3 + 1952*u*v^3 + 4176*u^2*v^3 + 4912*u^3*v^3 + 3288*u^4*v^3 +
1264*u^5*v^3 + 304*u^6*v^3 + 56*u^7*v^3 + 8*u^8*v^3 + 376*v^4 + 1664*u*v^4 + 3224*u^2*v^4 + 3288*u^3*v^4 + 1734*u^4*v^4 + 396*u^5*v^4 + 10*u^6*v^4 - 4*u^7*v^4 + 2*u^8*v^4 + 208*v^5 +
864*u*v^5 + 1504*u^2*v^5 + 1264*u^3*v^5 + 396*u^4*v^5 92*u^5*v^5 -90*u^6*v^5 - 18*u^7*v^5 + 72*v^6 + 288*u*v^6 + 456*u^2*v^6 +
304*u^3*v^6 + 10*u^4*v^6 - 90*u^5*v^6 - 43*u^6*v^6 - 7*u^7*v^6 + 16*v^7 + 64*u*v^7 + 96*u^2*v^7 + 56*u^3*v^7 4*u^4*v^7 18*u^5*v^7 -7*u^6*v^7 - u^7*v^7 + 2*v^8 + 8*u*v^8 + 12*u^2*v^8 + 8*u^3*v^8 + 2*u^4*v^8))/((2 + 2*u + u^2)^2*(u + v + u*v)^2*(2 + 2*v + v^2)^2)
Cancel[FullSimplify[aa^2 + ha^2 - bb^2 - hb^2 + cc^2 + hc^2]]
(2*r^2*(32 + 128*u + 224*u^2 + 224*u^3 + 168*u^4 + 112*u^5 + 56*u^6 + 16*u^7 + 2*u^8 + 128*v + 576*u*v + 1120*u^2*v + 1312*u^3*v +
1152*u^4*v + 768*u^5*v + 336*u^6*v + 80*u^7*v + 8*u^8*v + 288*v^2 + 1376*u*v^2 + 2800*u^2*v^2 + 3472*u^3*v^2 + 3096*u^4*v^2 +
1936*u^5*v^2 + 752*u^6*v^2 + 152*u^7*v^2 + 12*u^8*v^2 + 416*v^3 + 1952*u*v^3 + 3920*u^2*v^3 + 4848*u^3*v^3 + 4216*u^4*v^3 +
2464*u^5*v^3 + 856*u^6*v^3 + 144*u^7*v^3 + 8*u^8*v^3 + 376*v^4 + 1664*u*v^4 + 3224*u^2*v^4 + 3928*u^3*v^4 + 3334*u^4*v^4 +
1836*u^5*v^4 + 570*u^6*v^4 + 76*u^7*v^4 + 2*u^8*v^4 + 208*v^5 +
864*u*v^5 + 1632*u^2*v^5 + 2000*u^3*v^5 + 1692*u^4*v^5 + 892*u^5*v^5 + 250*u^6*v^5 + 26*u^7*v^5 + 72*v^6 + 288*u*v^6 + 552*u^2*v^6 +
704*u^3*v^6 + 602*u^4*v^6 + 306*u^5*v^6 + 79*u^6*v^6 + 7*u^7*v^6 + 16*v^7 + 64*u*v^7 + 128*u^2*v^7 + 168*u^3*v^7 + 140*u^4*v^7 + 66*u^5*v^7 + 15*u^6*v^7 + u^7*v^7 + 2*v^8 + 8*u*v^8 + 16*u^2*v^8 + 20*u^3*v^8 + 15*u^4*v^8 + 6*u^5*v^8 + u^6*v^8))/
((2 + 2*u + u^2)^2*(u + v + u*v)^2*(2 + 2*v + v^2)^2)
(2*r^2*(32 + 128*u + 288*u^2 + 416*u^3 + 376*u^4 + 208*u^5 + 72*u^6 + 16*u^7 + 2*u^8 + 128*v + 576*u*v + 1376*u^2*v + 1952*u^3*v +
1664*u^4*v + 864*u^5*v + 288*u^6*v + 64*u^7*v + 8*u^8*v + 224*v^2 + 1120*u*v^2 + 2800*u^2*v^2 + 3920*u^3*v^2 + 3224*u^4*v^2 +
1632*u^5*v^2 + 552*u^6*v^2 + 128*u^7*v^2 + 16*u^8*v^2 + 224*v^3 + 1312*u*v^3 + 3472*u^2*v^3 + 4848*u^3*v^3 + 3928*u^4*v^3 +
2000*u^5*v^3 + 704*u^6*v^3 + 168*u^7*v^3 + 20*u^8*v^3 + 168*v^4 + 1152*u*v^4 + 3096*u^2*v^4 + 4216*u^3*v^4 + 3334*u^4*v^4 +
1692*u^5*v^4 + 602*u^6*v^4 + 140*u^7*v^4 + 15*u^8*v^4 + 112*v^5 + 768*u*v^5 + 1936*u^2*v^5 + 2464*u^3*v^5 + 1836*u^4*v^5 + 892*u^5*v^5 + 306*u^6*v^5 + 66*u^7*v^5 + 6*u^8*v^5 + 56*v^6 + 336*u*v^6 +
752*u^2*v^6 + 856*u^3*v^6 + 570*u^4*v^6 + 250*u^5*v^6 + 79*u^6*v^6 + 15*u^7*v^6 + u^8*v^6 + 16*v^7 + 80*u*v^7 + 152*u^2*v^7 + 144*u^3*v^7 + 76*u^4*v^7 + 26*u^5*v^7 + 7*u^6*v^7 + u^7*v^7 + 2*v^8 + 8*u*v^8 + 12*u^2*v^8 + 8*u^3*v^8 + 2*u^4*v^8))/((2 + 2*u + u^2)^2*
(u + v + u*v)^2*(2 + 2*v + v^2)^2)
Dakle, duˇzine a2+h2 a, b
2+h2 b, c
2+h2