Anh Minh 10 điểm | |
Đặng Phương Anh 10 điểm | |
Bùi Tuấn Anh 10 điểm | |
Ngọc_Ánh 10 điểm | |
Nguyễn Khánh Hà 10 điểm |
Có 10139 người đã làm bài
p.r = random(-30,30);
p.d = shuffle([0,0, 0,-5, 5, 10,-10, 12, -12]);
params({d: p.d, r: p.r});
p.l = '<svg transform ="rotate('+ p.r + ',100,50) translate(30,70)" width="211" height="120" xmlns="http://www.w3.org/2000/svg"> <line stroke-linecap="undefined" stroke-linejoin="undefined" id="svg_1" y2="3.25" x2="205" y1="3.25" x1="5" stroke-width="1.5" stroke="#000" fill="none"/> <ellipse ry="2" rx="2" id="svg_2" cy="2.75" cx="5" stroke-width="1.5" stroke="#bf0000" fill="#bf0000"/> <ellipse ry="2" rx="2" id="svg_3" cy="2.75" cx="205" stroke-width="1.5" stroke="#bf0000" fill="#bf0000"/> <ellipse ry="2" rx="2" id="svg_5" cy="2.75" cx="' + (105 + p.d[0]) + '" stroke-width="1.5" stroke="#bf0000" fill="#bf0000"/> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="15" id="svg_7" y="18.25" x="0" stroke-width="0" stroke="#bf0000" fill="#000000">A</text> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="15" id="svg_8" y="18.25" x="' + (105 + p.d[0] - 5) + '" stroke-width="0" stroke="#bf0000" fill="#000000">I</text> <text xml:space="preserve" text-anchor="start" font-family="Helvetica, Arial, sans-serif" font-size="15" id="svg_9" y="18.25" x="200" stroke-width="0" stroke="#bf0000" fill="#000000">B</text> </g> </svg>';
p.q = (p.d[0] == 0)? (['Có', 'Không']) : (['Không', 'Có']);
p.event = function(Zone){
var lastX = 0, lastY = 0, angel = 0;
//Tọa độ điểm quay
var centerX = 0, centerY = 0;
//Di chuyển nửa bên trái theo class .left
Zone.find('#svg5726').draggable({ handle: ".left" });
//Xoay nửa bên phải bằng sự kiện dragable
Zone.find('#svg5726 .right').draggable({
//Xác định tọa độ ban đầu của chuột
start: function( event ){
lastX = event.offsetX;
lastY = event.offsetY;
},
//Sự kiện xoay nửa bên phải
drag: function(event) {
var // Tọa độ vị trí để xoay
xI = centerX,
yI = centerY,
// lấy tọa độ chuột khi xoay
mouseX = event.offsetX,
mouseY = event.offsetY;
var dx = mouseX - lastX;
var dy = mouseY - lastY;
//Góc xoay thêm được tính theo phương pháp gần đúng
dAng = Math.asin(Math.sqrt(( dx * dx + dy * dy) / ((lastX - xI) * (lastX - xI) + (lastY - yI) * (lastY - yI)))) * 180 /Math.PI;
if( isNaN(dAng) ) dAng = 0;
// Xác định xoay cùng chiều hay ngược chiều kim đồng hồ: Được xác định bằng cách so sánh hệ số góc 2 đường thẳng qua tọa độ ở điểm xoay
kBefore = (yI - lastY) / (lastX - xI);
kAfter = (yI - mouseY) / (mouseX - xI);
if((lastX - xI) != 0 && (mouseX - xI) != 0 && (kAfter > kBefore)) dAng = - dAng;
angel += dAng;
var rotateCSS = 'rotate(' + (angel) + 'deg)';
var rotatePos = centerX+'px '+centerY+'px';
// Zone.find('svg').attr("transform", rotateCSS);
Zone.find('#svg5726').css({
'transform': rotateCSS,
'-moz-transform': rotateCSS,
'-webkit-transform': rotateCSS,
'transform-origin': rotatePos,
'-moz-transform-origin': rotatePos,
'-webkit-transform-origin': rotatePos
});
//Tính toán trả về giá trị tọa độ chuột ứng với vị trí xoay mới
var degree2 = Math.round(Math.atan2((mouseY - yI) , (mouseX - xI)) * 180 / Math.PI );
var R = Math.sqrt((mouseY - yI) * (mouseY - yI) + (mouseX - xI) * (mouseX - xI));
var new_degree = degree2 - dAng;
lastX = xI + R * Math.cos( new_degree * Math.PI / 180 );
lastY = yI + R * Math.sin( new_degree * Math.PI / 180 );
}
})
}
@p.l@
I có là trung điểm của đoạn thẳng AB ở trên hay không?
p.t = shuffle([' Tuấn', ' Dũng', ' Thắng', ' Lan', ' Hùng', ' Huyền']);
p.q = shuffle([' cam', ' mít', ' mận', ' xoài', ' chanh', ' ớt']);
params({t: p.t, q: p.q});
Cho hai tập hợp A = {@p.t[0]@, @p.t[1]@ }, B = {@p.q[0]@, @p.q[1]@, @p.q[2]@ }.
Viết được bao nhiêu tập hợp, mỗi tập hợp gồm một phần tử của tập hợp A và một phần tử của tập hợp B?
Tập hợp viết được có dạng: X = {a, b | a \(\in\) A, b \(\in\) B};
Ta liệt kê được 6 tập như vậy là: {@p.t[0]@, @p.q[0]@ }, {@p.t[0]@, @p.q[1]@ }, {@p.t[0]@, @p.q[2]@ }, {@p.t[1]@, @p.q[0]@ }, {@p.t[1]@, @p.q[1]@ }, {@p.t[1]@, @p.q[2]@ }.
Ta có thể đếm nhanh hơn bằng cách:
- Có 2 cách chọn phần tử a ('@p.t[0]@' hoặc '@p.t[1]@').
- Có 3 cách chọn phần tử b ('@p.q[0]@' hoặc '@p.q[1]@' hoặc '@p.q[2]@').
Như vậy có: 2 . 3 = 6 tập hợp thỏa mãn.
p.s1 = [10*random(10,999),10*random(10,999)];
p.s2 = [10*random(10,999) + shuffle([2,4,6,8])[0],10*random(10,999) + shuffle([2,4,6,8])[0]];
p.s3 = [10*random(10,999) + 5,10*random(10,999) + 5];
params({s1:p.s1, s2:p.s2, s3: p.s3});
Sắp xếp các số sau vào ô tương ứng
- Các số chia hết cho 2 có tận cùng bằng 0, 2, 4, 6 hoặc 8.
- Các số chia hết cho 5 có tận cùng bằng 0 hoặc 5.
Do đó, các số vừa chia hết cho 2 vừa chia hết cho 5 có tận cùng bằng 0 (hay các số này chia hết cho 10).
Ta sắp xếp các số vào các nhóm như trên.
Lấy hai điểm I, @p.p[0]@ rồi lấy điểm @p.p[1]@ sao cho I là trung điểm của đoạn thẳng @p.p[0]@@p.p[1]@.
Lấy điểm @p.p[2]@ sao cho @p.p[0]@ là trung điểm của đoạn thẳng [email protected][2]@.
Lấy điểm M trên đoạn thẳng @p.p[2]@@p.p[1]@ sao cho @p.p[2]@M = [email protected][1]@.
M là trung điểm của những đoạn thẳng nào?
- M là trung điểm @p.p[0]@I do IM = [email protected][0]@ và M nằm giữa @p.p[0]@ và I.
- M là trung điểm @p.p[2]@@p.p[1]@ do @p.p[2]@M = [email protected][1]@ (vì @p.p[2]@M = @p.p[2]@@p.p[0]@ + @p.p[0]@M = @p.p[1]@I + IM = @p.p[1]@M) và M nằm giữa @p.p[1]@ và @p.p[2]@.
p.p = shuffle(['A', 'B', 'C', 'D', 'E', 'F','G', 'H']);
params({p:p.p});
p.a = random(3,7);
p.b = rand(1,2,7,[0]);
params({a: p.a, b: p.b});
p.end = 200 + p.b/p.a * 150;
Cho tia Ot, trên đó lấy điểm M sao cho OM = @p.a@cm. Trên tia đối của tia Ot lấy điểm N sao cho ON = @p.b@cm. Cho biết độ dài đoạn thẳng MN.
Đáp số: MN = cm.
M, N thuộc hai tia đối nhau có chung gốc O nên điểm O phải nằm giữa hai điểm M và N.
Do đó MN = MO + ON = OM + ON = @p.a+p.b@cm.
Rút gọn biểu thức [email protected][1]@ - (y + @p.b[0]@) + @p.b[1]@$, được kết quả bằng
[email protected][1]@ - (y + @p.b[0]@) + @p.b[1]@= $
$= @p.a[1]@ - y - @p.b[0]@ + @p.b[1]@$ (trước ngoặc là dấu "-", đổi các dấu trong ngoặc)
$= @p.a[1]@ - @p.b[0]@ + @p.b[1]@ - y$
$= @p.b[1] - p.b[0]+p.a[1]@ - y$.
p.b = randomArray(2,10,50);
p.a = rand(2,2,10,[p.b[0] - p.b[1]]).sort(function(a,b){return b-a});
function di2(n){
if(n < 0){return "-" + (-n)}
else if(n == 0) {return ""}
else {return "+" + n};
}
Tìm các số $x,y$ biết
a) [email protected][0]@ + x = @p.a[1]@$
Đáp số: $x=$ .
b) $y + (@-p.b[0]@) = @-p.b[1]@$
Đáp số: $y= $ .
a) [email protected][0]@ + x$ |
$=$ | [email protected][1]@$ |
$x$ | $=$ | [email protected][1]@ - @p.a[0]@$ |
$x$ | $=$ | [email protected][1] - p.a[0]@$. |
b) $y + (@-p.b[0]@)$ |
$=$ | $(@-p.b[1]@)$ |
$y - @p.b[0]@$ | $=$ | $(@-p.b[1]@)$ |
$y$ | $=$ | $(@-p.b[1]@) + @p.b[0]@$ |
$y$ | $=$ | [email protected][0]@ - @p.b[1]@$ |
$y$ | $=$ | [email protected][0]-p.b[1]@$. |
function di11(n){
if(n < 0 ){return "(" + n + ")"}
else {return n};
};
p.a = randomArray(2,1,10).sort(function(a,b){return b-a});
p.b = randomArray(2,1,20).sort(function(a,b){return b-a});
params({a: p.a, b: p.b});
Bạn Hà có sợi dây dài 1,2m, bạn dùng dây đó để đo chiều rộng lớp học. Sau bốn lần căng dây liên tiếp thì khoảng cách giữa đầu dây và mép tường còn lại bằng $\dfrac{1}{@p.a@}$ sợi dây.
Hỏi chiều rộng lớp của bạn Hà là bao nhiêu cm?
Đáp số: cm.
Gọi A, B là hai điểm mút của đoạn thẳng biểu diễn cho cạnh mép bề rộng lớp học. Gọi M, N, P, Q là các điểm trên đoạn thẳng AB lần lượt trùng với đầu sợi dây khi liên tiếp căng để đo bề rộng lớp học.
Theo đề bài, ta có: AB = AM + MN + NP + PQ+ QB.
Trong đó, AM = MN = NP = PQ = 1,2m = 120cm, và QB = $\dfrac{1}{@p.a@}$.120 = @120/p.a@cm.
Do đó AB = 120 . 4 + @120/p.a@ = @p.da@cm.
p.a = random(2,6);
params({a: p.a});
p.da = 120 * 4 + 120 / p.a;
p.end = 410 + 100/p.a;
1) ƯCLN$(@p.m@,$ [email protected]@) = $ .
2) Biết rằng các ước chung của [email protected]@$ và [email protected]@$ đều là ước của ƯCLN$(@p.m@,$ [email protected]@)$.
Tập hợp ƯC$(@p.m@,$ [email protected]@)$ là $\{$$\}$.
(Các số viết cách nhau bởi dấu ;)
1) Phân tích ra thừa số nguyên tố:
[email protected]@ = @primeFact(p.m)@$;
[email protected]@ = @primeFact(p.n)@$.
Do đó ƯCLN$(@p.m@,$ [email protected]@) =@primeFact(gcd(p.m,p.n))@=@gcd(p.m,p.n)@$.
2) Các ước chung của [email protected]@$ và [email protected]@$ đều là ước của ƯCLN$(@p.m@,$ [email protected]@)$, hay là ước của $@gcd(p.m,p.n)@$. Do đó, ƯC$(@p.m@,@p.n@) = \{@p.nghiem@\}$.
require('btds');
function isPrime(n){
var flag = true;
for(var i = 2; i <= Math.floor(Math.sqrt(n)); i ++){
if(n % i === 0){
flag = false;
break;
}
}
return flag;
}
function prime(n){ //số nguyên tố nhỏ hơn n
var ar = [];
for (i = 2; i <=n; i++){
if (isPrime(i)) ar.push(i);
}
return ar;
}
function getPow(i,n){ //lấy ra số mũ lớn nhất mà n chia hết cho i^k
if(i == 0 || i == 1){alert('i phải khác 0 và 1')}
else{
var k = 0;
while(n % Math.pow(i,k+1) === 0){
k ++;
}
return k;
}
}
function primeFact(n){
if(isPrime(n)){return n}
else{
var primeSet = prime(Math.floor(n/2)); //tập các số nguyên tố nhỏ hơn √n
var primeFactor = []; //tập các ước nguyên tố của n
for(i = 0; i < primeSet.length; i ++){
if(n % primeSet[i] === 0) primeFactor.push(primeSet[i]);
}
var primePow = [];
for(i = 0; i < primeFactor.length; i++){
primePow.push(getPow(primeFactor[i],n));
}
var str = '';
for(i = 0; i < primeFactor.length - 1; i++){
str += primeFactor[i] + ((primePow[i] == 1)? '' : ('^' + primePow[i])) + '.';
}
str += primeFactor[primeFactor.length - 1] + ((primePow[primeFactor.length - 1] == 1)? '' : ('^' + primePow[i]));
return str;
}
}
function U(a){
var ar = [1];
for(i = 2; i <= a/2; i++){
if(a % i === 0 ){ar.push(i)}
}
ar.push(a)
return ar;
}
function gcd(a,b){
return Math.abs(b) ? Math.abs(gcd(b, a%b)) : Math.abs(a);
};
p.nto = shuffle([2,3,5,7]);
params({nto: p.nto});
p.a = p.nto[0];
p.b = p.nto[1];
p.c = p.nto[2];
p.d = p.nto[3];
p.m = p.a*p.a*p.b*p.c;
p.n = p.a*p.b*p.b*p.d;
p.ng = U(gcd(p.m, p.n));
p.nghiem = p.ng.toString().replace(/,/g,";");
function checkIn(el){
var check = false;
for (i = 0; i < p.ng.length; i++){
if(equalEq(el,p.ng[i])){
check = true;
break;
}
}
return check;
}
function checkIde(ar){
var check = true;
for(i = 0; i < ar.length; i++){
for (j = ar.length -1; j >= 0; j--){
if (equalEq(ar[i],ar[j]) && i != j){
check = false;
break;
}
}
}
return check;
}
p.check = function(){
var ans = getEq(Zone);
console.log(ans);
var da = ans[1].replace(/\s/g,"").replace(/,/g,";").split(";");
var result = 2;
if(ans[0] != gcd(p.m,p.n)){result = 0}
else{
if(da.length == p.ng.length){
if(!checkIde(da)) {
result = 0;
} else if(da.every(checkIn)){
result = 1;
} else{result = 0}
} else {result = 0}
}
return {answer: ans, result: result};
};
© 2013 - 2021 OLM.VN (email: [email protected])
OLM.VN sử dụng tốt nhất bằng trình duyệt Google Chrome, download tại đây.