Đến nội dung

Mystic

Mystic

Đăng ký: 28-03-2016
Offline Đăng nhập: 04-05-2016 - 14:06
****-

#630375 TOPIC luyện thi vào lớp 10 chuyên toán năm 2016 - 2017.

Gửi bởi Mystic trong 30-04-2016 - 18:46

Cho tam giác vuông $ABC(\widehat{A}=90^{\circ})$, đường cao AD, gọi I là giao điểm các đường phân giác của tam giác ABD, J là giao điểm các đường phân giác của tam giác ADC, đường thẳng IJ cắt AB tại M và cắt AC tại N.

Chứng minh rằng:

a) Tam giác AMN vuông cân.

b) $S_{AMN}\leq \frac{1}{2}S_{ABC}$.




#630373 TOPIC luyện thi vào lớp 10 chuyên toán năm 2016 - 2017.

Gửi bởi Mystic trong 30-04-2016 - 18:38

Mình góp thêm bài hình:

Cho tứ giác $ABCD$, trên các cạnh $AB$,$BC$,$CD$,$DA$ lần lượt lấy các điểm $M$,$N$,$P$,$Q$ sao cho $\frac{AM}{MB}=m,\frac{BN}{NC}=n,\frac{CP}{PD}=p,\frac{DQ}{QA}=q$, đồng thời $(1-mp)(1-nq)\leq 0$.

Chứng minh rằng $S_{MNPQ}\leq max${$S_{ABC};S_{BCD};S_{CDA};S_{DAB}$}.




#629852 TOPIC luyện thi vào lớp 10 chuyên toán năm 2016 - 2017.

Gửi bởi Mystic trong 27-04-2016 - 19:59

a) Cách khác ngắn gọn hơn:

Xét :$B=x^2(x^2-7)^2-36$. Dễ thấy rằng :$B=0$ với $x=\pm 1,\pm 2,\pm 3;$

Do đó vì $B$ là đa thức bậc 6 của $x$, ta có:

$B=(x-3)(x-2)(x-1)(x+1)(x+2)(x+3)$

$\Rightarrow A=(x-3)(x-2)(x-1)x(x+1)(x+2)(x+3)$

b) Theo kết quả trên, ta có:

$n^3(n^2-7)^2-36n=n(n-3)(n+3)(n-1)(n+1)(n-2)(n+2)$

Ta viết lại đưới dạng :$(n-3)(n-2)(n-1)n(n+1)(n+2)(n+3)$.

Đây là tích của 7 số nguyên liên tiếp nên chia hết cho 7(đpcm).

Câu a của bạn ngắn hơn của mình nhưng cách đó theo mình cũng không dễ lắm đâu bởi vì  ta khó có thể tìm đc hết tất cả các nghiệm của A , nếu đề phức tạp hơn thì khó lắm :(




#629847 TOPIC luyện thi vào lớp 10 chuyên toán năm 2016 - 2017.

Gửi bởi Mystic trong 27-04-2016 - 19:43

Đề thi vào lớp chuyên toán miền Bắc, 1972:

a) Phân tích biểu thức ra nhân tử: $A=x^3(x^2-7)^2-36x$.

b) Dựa vào kết quả câu trên hãy chứng minh biểu thức :$n^3(n^2-7)^2-36n$ luôn luôn chia hết cho $7$ với mọi số nguyên $n$.

a) $A=x^3(x^2-7^2)^2-36x$

$=x[x^2(x^2-7)^2-36]=x(x^6-14x^4+49x^2-36)$

$=x[(x^6-9x^4)-(5x^4-45x^2)+(4x^2-36)]$

$=x[x^4(x^2-9)-5x^2(x^2-9)+4(x^2-9)]=x(x^2-9)(x^4-5x^2+4)$

$=x(x^2-9)(x^2-1)(x^2-4)=x(x-3)(x+3)(x-1)(x+1)(x-2)(x+2)$.

b) Áp dụng tính chất tích của 7 số nguyên liên tiếp thì chia hết cho 7 nên ta có đpcm.




#629738 TOPIC luyện thi vào lớp 10 chuyên toán năm 2016 - 2017.

Gửi bởi Mystic trong 26-04-2016 - 22:11

Thêm bài nữa:

Chứng minh rằng với mọi số n nguyên dương thì $(n+1)(n+2)(n+3)...(2n)$ chia hết cho $2^n$

Bài bạn Nobel còn thiếu 1 ý nữa ,đề đầy đủ là:

Chứng minh rằng với mọi số n nguyên dương thì:

a) $(n+1)(n+2)(n+3)...(2n)$ chia hết cho $2^n$

b) $(n+1)(n+2)(n+3)...(2n)$ chia hết cho $3^n$




#628064 Các bạn có dùng chức năng vẽ hình bằng GeoGebra trên diễn đàn không và tại sao?

Gửi bởi Mystic trong 18-04-2016 - 21:47

Diễn đàn có tích hợp chức năng vẽ hình bằng GeoGebra trên thanh công cụ của editor, nhưng không biết là có nhiều bạn dùng nó không. Các bạn cho ý kiến nhé!

Thưa anh,em thấy nó khó dùng  với lại không hiểu cách sử dụng lắm !!!

Nhưng có nó trên thanh công cụ thì vẫn tiện hơn nhiều so với việc dùng từ máy .




#627850 Chỉnh các Icon trên Win 7

Gửi bởi Mystic trong 17-04-2016 - 21:35

mọi người cho mình hỏi làm thế nào để chỉnh các Icon về ban đầu vậy ? cần lắm 1 sự trợ giúp.

 

attachicon.gifCaptureIcon.PNG

Bạn nhấy chuột phải vào biểu tượng muốn thay đổi icon ->Chọn Properties ->Shortcut -> Chọn Change Icon...

-> Bạn lựa chọn icon mà mình muốn là xong ;) 




#627743 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi Mystic trong 17-04-2016 - 14:58

 

Không nên dùng hàm này để tính $F_n$ với mỗi $n$ vì khi $n$ càng lớn, ta phải tính đi tính lại một công đoạn rất nhiều lần, như thuật toán bạn đề ra. Thay vì vậy, nên tạo một mảng vừa lưu trữ, vừa dùng để tính.

var	array_Fibo[1..75]:longword;
/*=========================*/
procedure generateFibo(limit: longword);
var	index:word;
begin
	array_Fibo[1] := a;
	array_Fibo[2] := b;
	index := 2;
	repeat
	index:=index+1;
	array_Fibo[index]:=array_Fibo[index-1]+array_Fibo[index-2];
	until array_Fibo[index]>=limit;
end;

Mình đọc lại mới thấy :

- Sao ko thay vào luôn :

array_Fibo[1] := 1;

array_Fibo[2] := 1;




#627741 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi Mystic trong 17-04-2016 - 14:48

- Chỗ indice mình đánh nhầm.

- Bạn hiểu sai biến cục bộ rồi. Mời bạn đọc thêm ở đây http://www.nguyenvan...uong-trinh-con/

À chắc ở đoạn thủ tục bạn dùng để cấp dữ liệu vào ct chính phải không ?

- Nhưng cô mình dạy thì lại nói là có var nhỉ ??




#627733 Trao đổi kinh nghiệm học Tin

Gửi bởi Mystic trong 17-04-2016 - 14:30

Có ai học chuyên Tin không điểm danh cái để mình tạo topic

Mình ko chuyên mà đang ở cấp Junior nên gà lắm ....




#627728 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi Mystic trong 17-04-2016 - 14:11

- Số ô nhớ đó là đủ, vì số Fibonnacci thứ 75 đã lên tới 7 tỷ rồi, trong khi giới hạn của đề chỉ là 2 tỷ.

- Ta chỉ sử dụng chữ var trong khung ngoặc của procedure khi và chỉ khi ta cần thay đổi giá trị ta cung cấp cho procedure (tức là cung cấp tham biến). Thuật toán trên không đả động gì tới thay đổi limit nên không cần phải thêm var.

- Phần chữ đó là để dấu cách dòng cho dễ nhìn thôi, lâu rồi mình không viết pascal nên quên mất cách viết phần comment thế nào.

- Không phải ở đó mà ở đoạn indice phải là index

Ta chỉ sử dụng chữ var trong khung ngoặc của procedure khi và chỉ khi ta cần thay đổi giá trị ta cung cấp cho procedure (tức là cung cấp tham biến).

-> Đúng !Nhưng limit là số ta nhập vào nên phải dùng var  chứ (số nhập vào có thể thay đổi)...




#627657 TOPIC: Tổng hợp bài tập PASCAL

Gửi bởi Mystic trong 17-04-2016 - 08:42

 

Không nên dùng hàm này để tính $F_n$ với mỗi $n$ vì khi $n$ càng lớn, ta phải tính đi tính lại một công đoạn rất nhiều lần, như thuật toán bạn đề ra. Thay vì vậy, nên tạo một mảng vừa lưu trữ, vừa dùng để tính.

var	array_Fibo[1..75]:longword;
/*=========================*/
procedure generateFibo(limit: longword);
var	index:word;
begin
	array_Fibo[1] := a;
	array_Fibo[2] := b;
	indice := 2;
	repeat
	index:=index+1;
	array_Fibo[index]:=array_Fibo[index-1]+array_Fibo[index-2];
	until array_Fibo[index]>=limit;
end;

Thuật toán của vbanj thì không sai nhưng có 1 số hạn chế sau:

- Số ô nhớ trong mảng quá ít 

- Ở đoạn procedure thì phải là var limit:longword;(vì limit sẽ thay đổi khi ta nhập vào 1 số khác,không dùng var khi sử dụng hàm !)

- Ở phần chữ đỏ có vẻ bạn viết sai chính tả :))

Còn lại thì ý tưởng rất hay,mình cũng phục :)




#627540 Topic yêu cầu tài liệu THCS

Gửi bởi Mystic trong 16-04-2016 - 18:39

thế bạn có cần cuốn đó nữa không, nếu được thì cho mình đi, mình đang rất cần :D @};- :icon12: :namtay

Mình ko có tài liệu sách đó mà là sách thật luôn cơ,mà mình đang luyện (bạn thông cảm) mà ở nhà sách có bán mà ???




#627539 Phần tử i sau khi hoán đổi nằm ở vị trí thứ mấy

Gửi bởi Mystic trong 16-04-2016 - 18:35



 

câu 2  mình nén xâu đó và giải nén xâu vừa nén 

var s,tam,tamcb,cs:string;
        i,v,n,d,loi,k,x:integer;
begin
        write('s= ');readln(s);
        {------------CAU A------------}
        tam:=' '; tamcb:='';n:=length(s);
        while i<=n do
        begin   d:=1;
                v:=i+1;
                while s[v]=s[i] do
                begin
                        d:=d+1;
                        v:=v+1;
                end;
                if d>=3 then
                begin
                        str(d,cs);
                        tam:=tam+cs+s[i];
                end
                else if d=2 then tam:=tam+s[i]+s[i]
                else tam:=tam+s[i];
                i:=i+d;
        end;
        writeln('sau khi nen chuoi: ',tam);
        {------------CAU B------------}
        i:=1;
        while i<=n do
        begin
                if (tam[i] in ['0'..'9']) then
                begin
                        k:=1;
                        val(tam[i],x,loi);
                        while k<x do
                        begin
                                tamcb:=tamcb+tam[i+1];inc(k);
                        end;
                end
                else tamcb:=tamcb+tam[i];
                i:=i+1;
        end;
        writeln('chuoi sau khi giai nen: ',tamcb);
readln
end.

 

Làm vậy là ko được rồi bạn !

Ở đây là 2 xâu riêng biệt mà (xâu s1 và xâu s2).

Bạn phải nén xâu s1 và giải nén xâu s2 .

Ở phần chữ đỏ là chưa đúng :bạn chỉ mới xét được các số có 1 chữ số (chẳng hạn 5) còn số có 2 chữ số trở lên thì sao ?(chẳng hạn 55).

=> Thuật toán chưa triệt để ,bạn nên xem lại




#627471 Xâu

Gửi bởi Mystic trong 16-04-2016 - 12:26



Cho một xâu kí tự T, chiều dài không quá 250 kí tự.

a)     Đếm số lượng số nguyên tố tạo từ xâu T.

b)    Tìm số nguyên tố P, biết P có giá trị nhỏ hơn 105. Dữ liệu cho đảm bảo T chứa ít nhất 1 số nguyên tố.

Dữ liệu vào: Cho tệp P.INP gồm 1 dòng duy nhất là xâu T

Dữ liệu ra: Xuất ra màn hình

-         Dòng 1: Số lượng số nguyên tố có được

-         Dòng 2: Số P cần tìm

P.INP

Kết quả hiện lên màn hình

Test1234#one5426

4

23

Này bạn đáng lẽ là có 5 số nguyên tố chứ ? (trong xâu có 2 số 2 mà);

Code:

 

program gty;
uses crt;
var w,q,i,n,j,k,l,z,x:integer;
f1:text;
ss,s,s1,y,s2:string;
f:array[1..100] of string;
a:array[1..1000] of char;
b,c,d:array[1..1000] of integer;
function nt(n:integer):boolean;
var i,s:integer;
kt:boolean;
begin
s:=0;
kt:=false;
for i:=1 to n do
if n mod i=0 then s:=s+1;
if s=2 then kt:=true;
nt:=kt;
end;
function xau(s:string):integer;
var i,n,k,l,p,z:integer;
t:string;
begin
i:=1;
k:=length(s);
z:=0;
repeat
      while k>=1 do
      begin
      t:='';
           for j:=i to k do
           t:=t+s[j];
           val(t,p,l);
           if nt(p) then z:=z+1;
           k:=k-1;
      end;
i:=i+1;
k:=length(s);
until i>length(s);
xau:=z;
end;
function xa(s:string):integer;
var i,k,l,p,z,r,tg:integer;
a:array[1..100] of integer;
t:string;
begin
i:=1;
k:=length(s);
z:=0;
r:=0;
repeat
      while k>=1 do
      begin
      t:='';
           for j:=i to k do
           t:=t+s[j];
           val(t,p,l);
           if nt(p) then
              begin
              r:=r+1;
              a[r]:=p;
              end;
           k:=k-1;
      end;
i:=i+1;
k:=length(s);
until i>length(s);
for i:=1 to r-1 do
begin
j:=i+1;
while j<=r do
      if (a[j]=a[i])or(a[j]>10000) then
         begin
         for k:=j to r do
         a[k]:=a[k+1];
         r:=r-1;
         end else j:=j+1;
end;
for i:=1 to r-1 do
for j:=i+1 to r do
if  a[i]<a[j] then
    begin
    tg:=a[i];
    a[i]:=a[j];
    a[j]:=tg;
    end;
xa:=a[1];
end;
begin
clrscr;
assign(f1,'d:\p.inp');
reset(f1);
while not eof(f1) do
readln(f1,s);
close(f1);
for i:=1 to length(s) do
if s[i] in ['0'..'9'] then
   begin
   n:=n+1;
   a[n]:=s[i];
   b[n]:=i;
   end;
c[1]:=1;
z:=0;
for i:=1 to n do
    if b[i]+1<>b[i+1] then
       begin
       z:=z+1;
       d[z]:=i;
       c[z+1]:=i+1;
       end;
i:=1;x:=0;
repeat
ss:='';
      for j:=c[i] to d[i] do
      ss:=ss+a[j];
      x:=x+1;
      f[x]:=ss;
      i:=i+1;
until i>z;
w:=xa(f[1]);
for i:=1 to x do
begin
q:=q+xau(f[i]);
if xa(f[i])>=w then w:=xa(f[i]);
end;
writeln('Co ',q,' so nguyen to');
writeln('So nguyen to P:',w);
readln
end.
P/s:code khá dài .....